complete method
Future<ChatResponse>
complete(
- List<
ChatMessage> messages, { - String? system,
- int? maxTokens,
override
Generates a complete response to messages.
system is prepended to any system messages in messages.
maxTokens overrides the client's default output limit.
Implementation
@override
Future<ChatResponse> complete(
List<ChatMessage> messages, {
String? system,
int? maxTokens,
}) async {
final key = _render(messages, system);
final cached = await cache.lookup(key);
if (cached != null) {
return ChatResponse(cached, stopReason: 'cache_hit', model: inner.model);
}
final response = await inner.complete(
messages,
system: system,
maxTokens: maxTokens,
);
// Truncated answers are not worth replaying.
if (!response.truncated) await cache.put(key, response.text);
return response;
}