Skip to main content

Provider Setup

Configure LLM providers to enable evaluations and optimization.

OpenAI

Dashboard Setup

  1. Go to Settings > Providers
  2. Click Add Provider > OpenAI
  3. Enter your OpenAI API key
  4. Select default model
  5. Click Save

Via SDK

await client.providers.create({
  type: 'openai',
  name: 'Production OpenAI',
  config: {
    apiKey: 'sk-...',
    defaultModel: 'gpt-5.1',
    organization: 'org-...',  // Optional
  },
});

Anthropic

await client.providers.create({
  type: 'anthropic',
  name: 'Production Anthropic',
  config: {
    apiKey: 'sk-ant-...',
    defaultModel: 'claude-sonnet-4-5-20251114',
  },
});

Google (Gemini)

await client.providers.create({
  type: 'google',
  name: 'Production Google',
  config: {
    apiKey: 'AIza...',
    defaultModel: 'gemini-2.5-flash',
  },
});

Azure OpenAI

await client.providers.create({
  type: 'azure-openai',
  name: 'Production Azure',
  config: {
    apiKey: '...',
    endpoint: 'https://your-resource.openai.azure.com/',
    deploymentName: 'gpt-5',
    apiVersion: '2025-01-01-preview',
  },
});

Moonshot (Kimi)

await client.providers.create({
  type: 'moonshot',
  name: 'Production Kimi',
  config: {
    apiKey: 'sk-...',
    defaultModel: 'kimi-k2.5',
  },
});

Zhipu AI (GLM)

await client.providers.create({
  type: 'zhipu',
  name: 'Production GLM',
  config: {
    apiKey: '...',
    defaultModel: 'glm-4.7',
  },
});

Setting Default Provider

await client.providers.setDefault('provider_123');

Testing Connection

const result = await client.providers.test('provider_123');
console.log('Connection:', result.success ? 'OK' : 'Failed');

Security

Provider API keys are encrypted at rest and never exposed in API responses.
  • Keys are stored encrypted using AES-256
  • Access is scoped to your workspace
  • Rotate keys regularly
  • Use least-privilege API keys when possible