Provider Configuration
Configure connections to LLM providers.
Supported Providers
OpenAI
export TOKLIGENCE_OPENAI_API_KEY=sk-...
Available Models:
- gpt-4, gpt-4-turbo, gpt-4o
- gpt-3.5-turbo
- text-embedding-ada-002
Anthropic
export TOKLIGENCE_ANTHROPIC_API_KEY=sk-ant-...
Available Models:
- claude-3-opus, claude-3-sonnet, claude-3-haiku
- claude-3-5-sonnet, claude-3-5-haiku
- claude-2.1, claude-2.0
Google Gemini
export TOKLIGENCE_GOOGLE_API_KEY=AIza...
Available Models:
- gemini-pro
- gemini-pro-vision
- gemini-ultra
Local LLMs
Ollama
# Start Ollama
ollama serve
ollama run llama3
# Configure gateway (auto-detected)
# No API key needed
vLLM
export TOKLIGENCE_LLM_ENDPOINT=http://localhost:8000/v1
LM Studio
export TOKLIGENCE_LLM_ENDPOINT=http://localhost:1234/v1
Custom Endpoint
export TOKLIGENCE_LLM_ENDPOINT=http://your-llm.com/v1
export TOKLIGENCE_LLM_API_KEY=optional-key
Model Routing
Configure model-to-provider routing:
export TOKLIGENCE_ROUTES="claude*=>anthropic,gpt-*=>openai,gemini-*=>google"
Pattern Syntax
*matches any characters=>separates pattern from provider
Examples
# Default routing
TOKLIGENCE_ROUTES="claude*=>anthropic,gpt-*=>openai,o1*=>openai,gemini-*=>google"
# Custom vendor prefixes
TOKLIGENCE_ROUTES="qwen*=>ali,llama*=>local"
Sidecar Translation
For Claude Code → OpenAI translation:
# Model mapping
export TOKLIGENCE_SIDECAR_MODEL_MAP="claude-3-5-sonnet-20241022=gpt-4o
claude-3-5-haiku-20241022=gpt-4o-mini"
# Default model for unmapped requests
export TOKLIGENCE_SIDECAR_DEFAULT_OPENAI_MODEL=gpt-4o
# Max tokens (Anthropic allows larger than OpenAI)
export TOKLIGENCE_OPENAI_COMPLETION_MAX_TOKENS=16384
Provider-Specific Settings
Rate Limits
# config/gateway.ini
[openai]
rate_limit_rpm = 100
[anthropic]
rate_limit_rpm = 50
Timeouts
export TOKLIGENCE_REQUEST_TIMEOUT=60000 # milliseconds
Prompt Caching
Enable Anthropic's prompt caching for cost optimization:
{
"model": "claude-3-5-sonnet-20241022",
"messages": [...],
"cache_control": {
"type": "ephemeral"
}
}
Health Checks
Verify provider connectivity:
curl http://localhost:8081/health
Response:
{
"status": "ok",
"providers": {
"openai": "connected",
"anthropic": "connected",
"google": "connected"
}
}