Repository navigation
Model Providers en
PandaGPT ships with 15 model providers, covering the major international and Chinese platforms, plus any OpenAI-compatible endpoint. Switching providers is a one-line change and a reload.
provider id |
Provider | Wire format | Default model | Image input by default |
|---|---|---|---|---|
openai |
OpenAI | OpenAI | gpt-4.1-mini |
✅ |
gemini |
Google Gemini | Native Gemini | gemini-3.8-flash |
✅ |
anthropic |
Anthropic Claude | Native Claude Messages | claude-sonnet-5-5 |
✅ |
azure |
Azure OpenAI | OpenAI (api-key header) |
deployment name | ✅ |
xai |
xAI Grok | OpenAI-compatible | grok-4 |
✅ |
mistral |
Mistral AI | OpenAI-compatible | mistral-medium-latest |
✅ |
groq |
Groq | OpenAI-compatible | openai/gpt-oss-120b |
❌ |
openrouter |
OpenRouter (hundreds of models) | OpenAI-compatible | openai/gpt-4.1-mini |
✅ |
deepseek |
DeepSeek | OpenAI-compatible | deepseek-chat |
❌ |
qwen |
Alibaba Cloud Model Studio · Qwen | OpenAI-compatible | qwen-plus |
❌ |
moonshot |
Moonshot AI · Kimi | OpenAI-compatible | kimi-k2-turbo-preview |
❌ |
zhipu |
Zhipu AI · GLM | OpenAI-compatible | glm-4.6 |
❌ |
doubao |
Volcengine Ark · Doubao | OpenAI-compatible | doubao-seed-1-6-250615 |
✅ |
siliconflow |
SiliconFlow | OpenAI-compatible | deepseek-ai/DeepSeek-V3 |
❌ |
custom |
Any OpenAI-compatible endpoint | OpenAI-compatible | required | ❌ |
⚠️ Model names change as providers update; the table lists defaults only. Use a model your account can actually access, as shown in your provider's console.
Each provider has its own block under panda.model_selection, so you can keep keys for several providers and switch at any time:
panda:
model_selection:
provider: 'anthropic' # the provider in use
anthropic:
api_key: 'sk-ant-...'
api_url: 'https://api.anthropic.com/v1/messages'
model: 'claude-sonnet-5-5'
vision: true # does the model accept images?
deepseek:
api_key: 'sk-...'
api_url: 'https://api.deepseek.com/chat/completions'
model: 'deepseek-chat'
vision: false| Field | Meaning |
|---|---|
api_key |
The key. PANDAGPT_<ID_IN_UPPER_CASE>_API_KEY also works and wins when non-empty |
api_url |
Endpoint. Must be HTTPS with no query, fragment or URL credentials. Empty means the default |
model |
Model name: letters, digits and ._:/- only |
vision |
Whether vision captures are sent as images. When off, the agent receives text-only observations (object IDs, blocks, distances, entities). Vision still works, just without pixels |
OpenAI
Uses Chat Completions with max_completion_tokens. Parallel tool calls and image input are supported.
Google Gemini
%s in the URL is replaced with the model name. The key is sent in the x-goog-api-key header. Gemini 3 requires thought signatures (thoughtSignature) to be echoed back on multi-turn function calls, and the plugin stores and returns them automatically.
Anthropic Claude
Uses the native Messages API (x-api-key + anthropic-version headers), not a compatibility layer. Consecutive tool results are merged into one user message to satisfy Claude's strict role alternation, and thinking blocks are never shown to players.
Azure OpenAI
api_url is required, for example https://<resource>.openai.azure.com/openai/v1/chat/completions. Set model to your deployment name. The key is sent in the api-key header.
Chinese providers (DeepSeek, Qwen, Kimi, GLM, Doubao, SiliconFlow)
All use the OpenAI-compatible API; the plugin automatically sends max_tokens instead of max_completion_tokens.
-
Doubao:
modelmay be a model name or a Volcengine Ark endpoint ID (ep-...). -
Qwen: for images, switch to a vision model (e.g.
qwen-vl-plus) and setvision: true. -
DeepSeek:
deepseek-chatsupports tool calling; check the official docs for reasoning models.
OpenRouter, Groq, xAI, Mistral
OpenRouter gives one key access to hundreds of models; write model names as vendor/model, e.g. anthropic/claude-sonnet-5-5. Groq is known for very fast inference, good for latency-sensitive servers.
Custom compatible endpoint custom
For any service implementing OpenAI Chat Completions with tools, such as a self-hosted vLLM, LiteLLM, One API or New API gateway. Both api_url and model are required, and the URL must be HTTPS.
| Need | Suggestion |
|---|---|
| Full experience (including images) | A model with vision: true and reliable tool calling, e.g. Claude, GPT, Gemini, Doubao |
| Lowest cost | DeepSeek, Qwen, GLM and similar; with vision off, vision still works as text |
| Mainland China networks | Chinese providers connect directly; international ones can use panda.proxy (HTTP CONNECT) |
| Speed | Groq, or any provider's flash / mini / turbo tier |
💡 One turn may call the model several times (up to 8 steps by default). Control cost with
panda.agent.max_stepsandmax_tool_calls; see Configuration.
- Each request has an overall timeout (
panda.requests.timeout_seconds) covering retries and reading the body. - Only HTTP 429/502/503/504 and connection failures are retried, honouring
Retry-After. A retry only re-fetches the model reply and never re-runs tools. - Response bodies are capped (1 MiB by default); errors never include raw responses, URLs or keys.
- Proxy:
panda.proxysupports HTTP CONNECT proxies. With a username and password, add-Djdk.http.auth.tunneling.disabledSchemes=to the JVM flags; the plugin warns in the console if it is missing.
⬅️ 📦 Installation · 📚 Contents · 💬 Talking to Panda ➡️
🐼 PandaGPT · 源码 Source · 中文首页 · English Home
🐼 PandaGPT
简体中文
- 🏠 首页
- 📦 安装与升级
- 🤖 模型服务商
- 💬 和 Panda 对话
- 🧠 Agent 与工具
- 📜 技能与提示词
- 🔔 主动式助手
- 👁️ 视觉与感知
- ✨ 创意功能
- 🔌 插件集成
- ⚡ 命令提案
- ⚙️ 配置参考
- 🌍 多语言
- 🔑 权限与管理命令
- 🚀 性能
- 🛡️ 安全与隐私
- ❓ 常见问题
- 🛠️ 开发指南
English
- 🏠 Home
- 📦 Installation
- 🤖 Model Providers
- 💬 Talking to Panda
- 🧠 Agent & Tools
- 📜 Skills & Prompts
- 🔔 Proactive Assistant
- 👁️ Vision & Perception
- ✨ Creative Features
- 🔌 Plugin Integrations
- ⚡ Command Proposals
- ⚙️ Configuration
- 🌍 Languages
- 🔑 Permissions & Admin
- 🚀 Performance
- 🛡️ Privacy & Security
- ❓ FAQ
- 🛠️ Development