invoke method

  1. @override
Future<ChatResult> invoke(
  1. PromptValue input, {
  2. FakeChatModelOptions? options,
})
override

Invokes the Runnable on the given input.

  • input - the input to invoke the Runnable on.
  • options - the options to use when invoking the Runnable.

Implementation

@override
Future<ChatResult> invoke(
  final PromptValue input, {
  final FakeChatModelOptions? options,
}) async {
  final text = responses[_i++ % responses.length];
  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(),
  );
}