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): ProviderCapabilityScore[];

Defined in: https://github.com/ax-llm/ax/blob/5b28f9093bb70863b59459bb6df5062d005bce41/src/ax/ai/capabilities.ts#L299

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()

Returns

ProviderCapabilityScore[]

Array of scored providers sorted by score (highest first)

Docs