Supported LLM Providers
Six first-party LLM providers (OpenAI, Anthropic Claude, Google Gemini, DeepSeek, Qwen, Kimi) plus Azure OpenAI, Codex OAuth and OpenRouter — and any OpenAI-compatible endpoint you self-host. Mix providers per node to tune speed, cost and quality.
OpenAI
openaiAnthropic Claude
claudeGoogle Gemini
geminiDeepSeek
deepseekAlibaba Qwen
openaiMoonshot Kimi
openaiMiniMax
minimaxGLM (Zhipu)
glmAzure OpenAI
openaiOpenAI Codex
codexOpenRouter
openrouter| Provider | Type | Notes |
|---|---|---|
| OpenAI | openai | GPT-4, GPT-5 series |
| Anthropic Claude | claude | Claude 4 Sonnet / Opus |
| Google Gemini | gemini | Gemini 2.5+ Pro / Flash |
| DeepSeek | deepseek | Chat & Reasoning |
| Alibaba Qwen | openai | OpenAI-compatible |
| Moonshot Kimi | openai | kimi-k2-turbo-preview |
| MiniMax | minimax | MiniMax models |
| GLM (Zhipu) | glm | GLM-4 series |
| Azure OpenAI | openai | Enterprise deployments |
| OpenAI Codex | codex | OAuth, no API key |
| OpenRouter | openrouter | 300+ models, single key |
Authentication matrix
How each provider authenticates, and whether it works through Azure or a self-hosted OpenAI-compatible endpoint.
| Provider | Authentication | Azure | Self-Hosted |
|---|---|---|---|
| OpenAI | API Key | ✔ via Azure OpenAI | ✔ any OpenAI-compatible |
| Anthropic Claude | API Key · Subscription Token | — | — |
| Google Gemini | API Key | — | — |
| DeepSeek | API Key | — | ✔ |
| Alibaba Qwen | API Key (OpenAI-compatible) | — | ✔ |
| Moonshot Kimi | API Key (OpenAI-compatible) | — | ✔ |
| MiniMax | API Key | — | — |
| GLM (Zhipu) | API Key | — | — |
| Azure OpenAI | Azure Key + endpoint + deployment | ✔ native | — |
| OpenAI Codex | OAuth (local Codex credential) | — | — |
| OpenRouter | API Key (single key, 300+ models) | — | — |
Per-Node strategy guide
Recommended provider tier for each workflow stage. Combine with the pipeline YAML below to wire the routing.
Schema Linking
SQL Generation
Reasoning / Output
Embedding Models for Context Recall
Vectorize text and queries for semantic search, retrieval, and context matching.
OpenAI Embeddings
text-embedding-3-*1536 / 3072 dim, hostedsentence-transformers
all-MiniLM-L6-v2384 dim · ~100MB · defaultMultilingual E5
e5-large-instruct1024 dim · ~1.2GB · multilingualBGE (zh)
bge-large-zh-v1.51024 dim · Chinese optimizedBGE (en)
bge-large-en-v1.51024 dim · English optimizedLLM Observability
Trace every prompt in production or debug locally as YAML — pick the surface that fits your workflow.
LangSmith
LANGSMITH_TRACING=true · LANGSMITH_API_KEYLangfuse
LANGFUSE_PUBLIC_KEY · LANGFUSE_SECRET_KEY · LANGFUSE_HOSTLLM Trace
--save_llm_tracePer-Node Model Assignment
Use different providers for different workflow steps. Route schema linking to a cheaper model, SQL generation to a stronger one — all within the same pipeline.
pipeline:
schema_linking:
provider: openai
model: gpt-4o-mini
sql_generation:
provider: claude
model: claude-sonnet-4
validation:
provider: gemini
model: gemini-2.5-flashFrequently asked questions
Supported providers, per-node routing, switching models, embeddings, and tracing.
Which LLM providers does Datus support?
Datus supports 11+ providers out of the box: OpenAI, Anthropic Claude, Google Gemini, DeepSeek, Alibaba Qwen, Moonshot Kimi, MiniMax, GLM (Zhipu), Azure OpenAI, OpenAI Codex via OAuth, and OpenRouter for 300+ models behind a single key.
Can I use a different model for each step of a workflow?
Yes. Per-node model assignment lets you pick a different provider and model for each step — for example, a fast model for planning, a strong reasoning model for SQL generation, and a cheap model for validation.
How do I switch the active model from the CLI?
Run /model inside the Datus CLI to list configured providers and pick a new active one. The change is written back to ~/.datus/agent.yml, so the next session keeps the same default.
What about embeddings?
Datus supports OpenAI embeddings, Sentence-Transformers, and Hugging Face models (E5, BGE), so you can keep retrieval entirely local or use a hosted provider as you prefer.
Do I need keys from every provider?
No — you only configure the providers you actually use. Many teams start with a single key (OpenAI or OpenRouter) and add specialized models later for cost or latency reasons.
How do I trace LLM calls?
Datus supports LangSmith, Langfuse (with OpenTelemetry / OpenInference) and a local --save_llm_trace flag that dumps every prompt and completion to YAML for offline inspection.
Route the Right Model at Every Step
Configure planners, coders and rerankers per provider — Anthropic, OpenAI, Gemini, or your own self-hosted endpoint, all from one YAML.