generateChatResponseAsync method
Implementation
Stream<String> generateChatResponseAsync() async* {
final buffer = StringBuffer();
await for (final token in session.getResponseAsync()) {
buffer.write(token);
yield token;
}
final response = buffer.toString();
final responseTokens = await session.sizeInTokens(response);
_currentTokens += responseTokens;
if (_currentTokens >= (maxTokens - tokenBuffer)) {
await _recreateSessionWithReducedChunks();
}
final chatMessage = Message(text: response, isUser: false);
_fullHistory.add(chatMessage);
_modelHistory.add(chatMessage);
}