Skip to content

LLM Providers

Interceptor supports multiple LLM providers. Configure one provider in interceptor.config.ts and set the matching API key in .env.

Provider matrix

ProviderEnv varNotes
OpenAIOPENAI_API_KEYOfficial OpenAI API
OpenAI-compatibleOPENAI_COMPAT_API_KEYRequires baseUrl
Google (Gemini)GEMINI_API_KEYGoogle AI Studio
Anthropic (Claude)ANTHROPIC_API_KEYClaude models
MistralMISTRAL_API_KEYMistral API
CohereCOHERE_API_KEYCohere API
GroqGROQ_API_KEYGroq API
DeepSeekDEEPSEEK_API_KEYDeepSeek API

OpenAI

ts
llm: {
  provider: "openai",
  model: "gpt-4o-mini",
  apiKeyEnv: "OPENAI_API_KEY"
}

OpenAI-compatible

ts
llm: {
  provider: "openai-compatible",
  model: "your-model-name",
  apiKeyEnv: "OPENAI_COMPAT_API_KEY",
  baseUrl: "https://your-provider.com/v1"
}

Google (Gemini)

ts
llm: {
  provider: "google",
  model: "gemini-1.5-flash",
  apiKeyEnv: "GEMINI_API_KEY"
}

Anthropic (Claude)

ts
llm: {
  provider: "anthropic",
  model: "claude-3-5-sonnet-20240620",
  apiKeyEnv: "ANTHROPIC_API_KEY"
}

Mistral

ts
llm: {
  provider: "mistral",
  model: "mistral-small-latest",
  apiKeyEnv: "MISTRAL_API_KEY"
}

Cohere

ts
llm: {
  provider: "cohere",
  model: "command-r",
  apiKeyEnv: "COHERE_API_KEY"
}

Groq

ts
llm: {
  provider: "groq",
  model: "llama3-8b-8192",
  apiKeyEnv: "GROQ_API_KEY"
}

DeepSeek

ts
llm: {
  provider: "deepseek",
  model: "deepseek-chat",
  apiKeyEnv: "DEEPSEEK_API_KEY"
}

Custom env var name

If your key is stored under another environment variable, set llm.apiKeyEnv to that name.

Reliability settings

You can define fallback providers with per-provider models and API key env names:

ts
llm: {
  provider: "openai",
  model: "gpt-4o-mini",
  fallbacks: [
    {
      provider: "anthropic",
      model: "claude-3-5-sonnet-20240620",
      apiKeyEnv: "ANTHROPIC_API_KEY"
    },
    {
      provider: "google",
      model: "gemini-1.5-pro",
      apiKeyEnv: "GEMINI_API_KEY"
    }
  ],
  retries: 2,
  retryDelayMs: 500,
  retryMaxDelayMs: 4000
}

Fallback entries can omit apiKeyEnv to use the provider default env variable and omit model to reuse the primary model.