route method
Routes a completion request to the best available provider.
Implementation
Future<AIResponse> route(
List<AIMessage> messages, {
int? maxTokens,
double? temperature,
AICapability? requiredCapability,
List<AITool>? tools,
}) async {
final chain = FallbackChain(
providers: _selectProviders(requiredCapability),
circuitBreakers: _circuitBreakers,
);
final response = await chain.execute(
(provider) => provider.complete(
messages,
maxTokens: maxTokens,
temperature: temperature,
tools: tools,
),
);
_recordLatency(response.provider, response.latency);
return response;
}