axScoreProvidersForRequest Generated TypeScript API reference. typescript api api/reference build/apidocs/Function.axScoreProvidersForRequest.md function axScoreProvidersForRequest

axScoreProvidersForRequest

TypeScript
function axScoreProvidersForRequest(
   providers: AxAIService<unknown, unknown, string>[], 
   requirements: MediaRequirements & object, 
   request?: Readonly<AxChatRequest>, 
   options?: Readonly<AxAIServiceOptions>): ProviderCapabilityScore[];

Defined in: https://github.com/ax-llm/ax/blob/e690b4823b8309e258594064abe941d4cff6ef89/src/ax/ai/capabilities.ts#L324

Scores multiple AI providers based on how well they meet request requirements.

Uses a weighted scoring system where providers earn points for supported capabilities:

  • Base functionality: +10 points
  • Media support (images/audio/files/URLs): +25 points each
  • Core features (functions/streaming/caching): +8-15 points each
  • Missing critical capabilities: -10 points each
  • Bonus points for advanced features (large file support, persistent caching, etc.)

Example

TypeScript
const requirements = axAnalyzeRequestRequirements(request);
const scores = axScoreProvidersForRequest([openai, gemini, cohere], requirements);

console.log(`Best: ${scores[0].provider.getName()} (${scores[0].score} points)`);
console.log(`Supports: ${scores[0].supportedCapabilities.join(', ')}`);

Parameters

ParameterTypeDescription
providersAxAIService<unknown, unknown, string>[]Array of AI service providers to score
requirementsMediaRequirements & objectRequirements object from axAnalyzeRequestRequirements()
request?Readonly<AxChatRequest>-
options?Readonly<AxAIServiceOptions>-

Returns

ProviderCapabilityScore[]

Array of scored providers sorted by score (highest first)

Docs