-
Notifications
You must be signed in to change notification settings - Fork 111
Open
Description
Problem
When using multiple providers as failover, there's no way to specify a different model per provider. Each provider typically requires its own model identifier (e.g. gpt-5-mini for OpenAI, mistral-large-latest for Mistral), but the current API only accepts a single model value.
Current behavior
Via attributes:
#[Provider([Lab::OpenAI, Lab::Mistral])]
#[Model('gpt-5-mini')]
class WorkoutProgrammerAgent implements Agent, Conversational, HasTools#[Model] only accepts one value — there's no way to map a model to each provider.
Via prompt method:
(new WorkoutProgrammerAgent($workoutPlan))
->prompt((string) $prompt, provider: [Lab::OpenAI, Lab::Mistral], model: 'gpt-5-mini');Same limitation — model is a single string with no per-provider mapping.
Expected behavior
Something like:
#[Provider([Lab::OpenAI, Lab::Mistral])]
#[Model(['gpt-5-mini', 'mistral-large-latest'])]or:
->prompt($prompt, provider: [
Lab::OpenAI => 'gpt-5-mini',
Lab::Mistral => 'mistral-large-latest',
]);Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels