sendMessageStream method
Stream<String>
sendMessageStream({
- required String message,
- List<
ChatMessage> conversationHistory = const [], - Map<
String, dynamic> ? options,
override
Send a message and get a streaming response
Implementation
@override
Stream<String> sendMessageStream({
required String message,
List<ChatMessage> conversationHistory = const [],
Map<String, dynamic>? options,
}) async* {
final response = _generateResponse(message.toLowerCase());
// Simulate streaming by splitting response into words
final words = response.split(' ');
for (var word in words) {
yield word + (word != words.last ? ' ' : '');
await Future.delayed(const Duration(milliseconds: 50));
}
_conversationHistory.add(ChatMessage.user(content: message));
_conversationHistory.add(ChatMessage.assistant(content: response));
}