Documentation

Build LLM-powered agents
with production-ready TypeScript

DSPy for TypeScript. Working with LLMs is complex—they don't always do what you want. DSPy makes it easier to build amazing things with LLMs. Just define your inputs and outputs (signature) and an efficient prompt is auto-generated and used. Connect together various signatures to build complex systems and workflows using LLMs.

15+ LLM Providers
End-to-end Streaming
Auto Prompt Tuning

axScoreProvidersForRequest

function axScoreProvidersForRequest(providers: AxAIService<unknown, unknown, string>[], requirements: MediaRequirements & object): ProviderCapabilityScore[];

Defined in: https://github.com/ax-llm/ax/blob/9a5a7060a48f9eef46efc680b0cdf6b42bff5df2/src/ax/ai/capabilities.ts#L284

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

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

Example

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)