generateChat method
Generate a completion for a conversation.
The last message is the live turn; earlier messages become history and a leading system message becomes the system prompt.
Throws SDKException when no model is loadable or generation fails.
Implementation
Future<GenerationResult> generateChat(
List<ChatMessage> messages, {
LlmOptions? options,
}) async {
final request = await _chatRequest(messages, options);
if (_usesTools(request)) {
return _generateWithTools(
_livePrompt(request),
request,
history: messages
.where((m) => m.role != ChatRole.system)
.map((m) => m.content)
.toList()
..removeLast(),
);
}
final result = await DartBridgeLLM.shared.generateProto(request);
return GenerationResult.fromLlm(result, requestId: request.requestId);
}