MultiLLMPromptExecutor
MultiLLMPromptExecutor is a class responsible for executing prompts across multiple Large Language Models (LLMs). This implementation supports direct execution with specific LLM clients or utilizes a fallback strategy if no primary LLM client is available for the requested provider.
Parameters
A map containing LLM providers associated with their respective LLMClients.
Optional settings to configure the fallback mechanism in case a specific provider is not directly available.
This class remains open for source and binary compatibility with existing subclasses. For new custom prompt executors, prefer extending ai.koog.prompt.executor.model.DynamicPromptExecutor. If you subclass this class, prefer overriding the ResolvedModel-based overloads. Override the LLModel-based overloads only when you intentionally take over the full model-resolution and execution flow.
Constructors
Constructs an executor instance with a map of LLM providers associated with their respective clients.
Initializes a new instance of the MultiLLMPromptExecutor class with multiple LLM clients.
Secondary constructor for MultiLLMPromptExecutor that accepts a list of LLMClient instances. The provided clients are processed to create a mapping of LLMProvider to their respective LLMClient.
Secondary constructor for MultiLLMPromptExecutor that accepts a variable number of LLMClient instances. The provided clients are processed to create a mapping of LLMProvider to their respective LLMClient.
Types
Represents configuration for a fallback large language model (LLM) execution strategy.
Functions
Executes a given prompt using the specified tools and resolved model, and returns the assistant response.
Executes a given prompt using the specified tools and model, and returns the assistant response.
Executes a given prompt using the specified tools and model and returns a list of model choices.
Executes the given prompt with the specified model and streams the response in chunks as a flow.
Executes a prompt with structured output, enhancing it with schema instructions or native structured output parameter, and parses the response into the defined structure.
Basic JSON schema generator required for the given model. Return BasicJsonSchemaGenerator by default.
Standard JSON schema generator required for the given model. Return StandardJsonSchemaGenerator by default.
Moderates the provided multi-modal content using the specified resolved model.
Moderates the provided multi-modal content using the specified model.
Parses a structured response from the assistant message using the provided structured output configuration and language model. If a fixing parser is specified in the configuration, it will be used; otherwise, the structure will be parsed directly.
Resolves the LLModel to use for the given promptExecutorOperation by selecting a known client for the model's provider, falling back to FallbackPromptExecutorSettings.fallbackModel when no direct client matches.