Skip to content

Model provider

A model provider resolves a model by name. Note that the returned LanguageModel comes from AI SDK.

ts
import { LanguageModel } from 'ai';

interface ModelProvider {
  getModel(name: string): Promise<LanguageModel>;
}

Default model provider

Toor provides a default model provider (DefaultModelProvider) implementation that supports Gemini, OpenAI and Anthropic. It maps a model name to a model by checking prefix which can be:

  • gemini: (e.g. gemini:gemini-3.5-flash)
  • openai: (e.g. openai:gpt-4o-mini)
  • anthropic: (e.g. anthropic:claude-3.5-sonnet)

It takes the API keys from the environment variables:

  • GEMINI_API_KEY
  • OPENAI_API_KEY
  • ANTHROPIC_API_KEY

If the API key is not set in the environment variables, it throws a MissingApiKeyError.

ts
import { DefaultModelProvider } from '@gettoor/core';

const provider = new DefaultModelProvider();
const model = await provider.getModel('gemini:gemini-3.5-flash');