invoke method
Invokes the Runnable on the given input
.
Implementation
@override
Future<ChatResult> invoke(
final PromptValue input, {
final FakeEchoChatModelOptions? options,
}) async {
final throwError =
options?.throwRandomError ?? defaultOptions.throwRandomError;
if (throwError) {
throw Exception('Random error');
}
final text = input.toChatMessages().last.contentAsString;
final message = AIChatMessage(content: text);
return ChatResult(
id: '1',
output: message,
finishReason: FinishReason.unspecified,
metadata: {
'model': options?.model ?? defaultOptions.model,
...?options?.metadata ?? defaultOptions.metadata,
},
usage: const LanguageModelUsage(),
);
}