Skip to main content

Provider YAML Recipes

Drop one of these model: blocks into an agent or defaults.model. All string values support ${ENV_VAR} expansion.

:::tip Runnable provider files Standalone configurations live under examples/yaml-configs/providers/.

export ANTHROPIC_API_KEY=sk-ant-...
chronos -c examples/yaml-configs/providers/anthropic.yaml run "Hello"

:::

Provider matrix

Providerprovider valueAuthentication
OpenAIopenaiOPENAI_API_KEY
AnthropicanthropicANTHROPIC_API_KEY
Gemini AI StudiogeminiGEMINI_API_KEY
Vertex AIcompatibleGOOGLE_ACCESS_TOKEN
Azure OpenAIazureAZURE_OPENAI_API_KEY
Grok / xAIcompatibleXAI_API_KEY
GroqgroqGROQ_API_KEY
MistralmistralMISTRAL_API_KEY
DeepSeekdeepseekDEEPSEEK_API_KEY
OllamaollamaNone
Other OpenAI-compatible APIscompatibleProvider-specific key

OpenAI

model:
provider: openai
model: gpt-5.5
api_key: ${OPENAI_API_KEY}
timeout_sec: 120

Native reasoning:

reasoning:
native: true
effort: high
summary: false

Anthropic

model:
provider: anthropic
model: claude-opus-4-8
api_key: ${ANTHROPIC_API_KEY}
timeout_sec: 120

Extended thinking for a tool-free agent:

reasoning:
native: true
budget_tokens: 4096
summary: true

Anthropic native reasoning with tools currently fails closed because signed thinking blocks cannot yet be preserved across tool rounds. Use prompt strategy reasoning when tools are present.

Google Gemini (AI Studio)

model:
provider: gemini
model: gemini-2.0-flash
api_key: ${GEMINI_API_KEY}

Thinking for a tool-free agent:

reasoning:
native: true
budget_tokens: 4096
summary: true

Gemini native reasoning with tools has the same signed-thought limitation as Anthropic.

Google Vertex AI

Vertex exposes an OpenAI-compatible endpoint. Use a short-lived Google access token:

model:
provider: compatible
model: google/gemini-2.0-flash
base_url: https://us-central1-aiplatform.googleapis.com/v1/projects/YOUR_PROJECT/locations/us-central1/endpoints/openapi
api_key: ${GOOGLE_ACCESS_TOKEN}
export GOOGLE_ACCESS_TOKEN=$(gcloud auth print-access-token)

Azure OpenAI

Azure requires the resource endpoint, deployment name, and API version:

model:
provider: azure
deployment: my-gpt4o-deployment
endpoint: https://my-resource.openai.azure.com
api_version: "2024-10-21"
api_key: ${AZURE_OPENAI_API_KEY}

Grok (xAI)

model:
provider: compatible
model: grok-4
base_url: https://api.x.ai/v1
api_key: ${XAI_API_KEY}

Groq

model:
provider: groq
model: llama-3.3-70b-versatile
api_key: ${GROQ_API_KEY}

Mistral

model:
provider: mistral
model: mistral-large-latest
api_key: ${MISTRAL_API_KEY}

DeepSeek

model:
provider: deepseek
model: deepseek-chat
api_key: ${DEEPSEEK_API_KEY}

Ollama

model:
provider: ollama
model: llama3.2
base_url: http://localhost:11434
ollama pull llama3.2
chronos -c examples/yaml-configs/providers/ollama.yaml run "Hello locally"

Other OpenAI-compatible endpoints

Use compatible for Together, OpenRouter, Fireworks, Perplexity, vLLM, LiteLLM, and other Chat Completions-compatible APIs:

model:
provider: compatible
model: meta-llama/Llama-3.3-70B-Instruct-Turbo
base_url: https://api.together.xyz/v1
api_key: ${TOGETHER_API_KEY}

Mix providers in one team

Each agent owns its own model block, so a parallel team can compare providers:

teams:
- id: compare
name: Provider Comparison
strategy: parallel
agents: [openai-agent, claude-agent, gemini-agent]
max_concurrency: 3
error_strategy: best_effort

See the complete multi-provider application.