send method
- String text
Sends text with the whole conversation before it; a second send waits for the running answer.
Implementation
void send(String text) {
if (busy) return;
final history = <TextMessage>[
if (settings.systemPrompt.isNotEmpty)
TextMessage(role: 'system', content: settings.systemPrompt),
for (final m in _messages)
TextMessage(role: m.role.name, content: m.text),
TextMessage(role: 'user', content: text),
];
_messages
..add(ChatEntry(role: ChatRole.user, text: text))
..add(
const ChatEntry(role: ChatRole.assistant, text: '', streaming: true),
);
busy = true;
error = null;
notifyListeners();
_run = client
.generate(settings, history)
.listen(_onEvent, onError: _onError, onDone: _finish);
}