submitQuestion method
Implementation
Future<void> submitQuestion(String question) async {
if (question.isEmpty) return;
updateChat(ChatMessageData(sender: 'user', message: question));
textController.clear();
final aiMessage = ChatMessageData(sender: 'ai', message: '');
updateChat(aiMessage);
String accumulatedResponse = "";
log("Response from: ${selectedModel.value}");
final stream = ollama.generate(
question,
model: modelMap[selectedModel.value] ?? "",
);
await for (final chunk in stream) {
controller.animateTo(
controller.position.maxScrollExtent,
duration: Duration(seconds: 1),
curve: Curves.fastLinearToSlowEaseIn,
);
print(chunk.text);
accumulatedResponse += chunk.text;
chatHistory.last = ChatMessageData(
sender: modelMap[selectedModel.value] ?? 'ai',
message: accumulatedResponse);
chatController.add(List.from(chatHistory)); // Emit updated list
}
}