跳到主要内容

Provider 与运行时参数

这一页解决什么

  • MIRA 现在支持哪些 LLM Provider?
  • 怎么写最简的 provider 配置?
  • temperature / maxTokens / maxToolIterations / reasoningEffort 各调到多少合适?
  • provider: "auto" 是按什么规则匹配的?

内置 Provider 清单

Provider key说明鉴权方式典型 model 字段
openaiOpenAI 官方API keyopenai/gpt-4oopenai/gpt-4o-mini
anthropicAnthropic 官方API keyanthropic/claude-opus-4-5claude-sonnet-4-5
azureOpenaiAzure OpenAI(model = deployment 名)API key + apiBaseazure_openai/<deployment>
openrouterOpenRouter 网关API keyopenrouter/anthropic/claude-3.7-sonnet
aihubmixAiHubMix 国际/国内网关API key + 可选 extraHeadersaihubmix/...
siliconflowSiliconFlow 硅基流动API keysiliconflow/Qwen/Qwen2.5-72B-Instruct
volcengine / byteplus火山引擎 / 国际版API keyvolcengine/doubao-...
deepseekDeepSeek 官方API keydeepseek/deepseek-chatdeepseek-reasoner
dashscope阿里 DashScopeAPI keydashscope/qwen-max
zhipu智谱 GLMAPI keyzhipu/glm-4.5
moonshot月之暗面 KimiAPI keymoonshot/kimi-...
minimaxMiniMaxAPI keyminimax/...
mistralMistralAPI keymistral/mistral-large-latest
geminiGoogle GeminiAPI keygemini/gemini-2.0-flash
groqGroqAPI keygroq/llama-3.1-70b-versatile
stepfun阶跃星辰API keystepfun/...
xiaomiMimo小米 MIMOAPI keyxiaomi_mimo/...
qianfan百度千帆API keyqianfan/...
ollama本地 Ollama无(本地)ollama/qwen2.5:14bllama3.2
vllm本地 vLLM无(本地)vllm/<model>
ovmsOpenVINO Model Server无(本地)ovms/<model>
custom任意 OpenAI 兼容 endpoint自填 apiKey + apiBasecustom/<whatever>
openaiCodexOpenAI Codex(OAuth)OAuth 登录openai_codex/...
githubCopilotGitHub Copilot(OAuth)OAuth 登录github_copilot/...

OAuth provider(openaiCodexgithubCopilot)需要在 mira onboard --wizard 中走登录流程,不能直接写 key。

最常见的几种配置

OpenAI 官方

{
"agents": { "defaults": { "provider": "openai", "model": "openai/gpt-4o" } },
"providers": { "openai": { "apiKey": "sk-..." } }
}

Anthropic 官方

{
"agents": { "defaults": { "provider": "anthropic", "model": "anthropic/claude-opus-4-5" } },
"providers": { "anthropic": { "apiKey": "sk-ant-..." } }
}

OpenRouter(一把钥匙调全家)

{
"agents": { "defaults": {
"provider": "openrouter",
"model": "anthropic/claude-sonnet-4-5"
}},
"providers": { "openrouter": { "apiKey": "sk-or-v1-..." } }
}

用 OpenRouter 时 model 既可以写 anthropic/claude-sonnet-4-5(简短),也可以写 openrouter/anthropic/claude-sonnet-4-5(带前缀)。

Azure OpenAI(注意 model = deployment 名)

{
"agents": { "defaults": {
"provider": "azureOpenai",
"model": "azure_openai/my-gpt-4o-deployment"
}},
"providers": {
"azureOpenai": {
"apiKey": "<azure-key>",
"apiBase": "https://my-resource.openai.azure.com",
"extraHeaders": { "api-version": "2024-08-01-preview" }
}
}
}

任意 OpenAI 兼容 endpoint(custom

{
"agents": { "defaults": { "provider": "custom", "model": "custom/qwen2.5-72b" } },
"providers": {
"custom": {
"apiKey": "<key>",
"apiBase": "https://my-gateway.example.com/v1",
"extraHeaders": { "X-Tenant": "lab-skmr" }
}
}
}

本地 Ollama

{
"agents": { "defaults": { "provider": "ollama", "model": "qwen2.5:14b" } },
"providers": { "ollama": { "apiBase": "http://localhost:11434" } }
}

本地 vLLM

{
"agents": { "defaults": { "provider": "vllm", "model": "vllm/Qwen/Qwen2.5-32B-Instruct" } },
"providers": { "vllm": { "apiBase": "http://localhost:8000/v1" } }
}

OAuth:OpenAI Codex / GitHub Copilot

mira onboard --wizard
# → 选 openai-codex 或 github-copilot → 浏览器登录

不要在 config.json 里写 key——openaiCodex / githubCopilot 字段会被显式 exclude=True 忽略,token 由专用流程托管。

provider: "auto" 的匹配规则

实战建议:只要不是 100% 依赖关键词推断,建议显式写 provider,避免被自动匹配带偏。

运行时参数怎么调

字段默认调高的代价调低的代价
maxTokens8192单回合更慢、更贵输出可能被截断
temperature0.1输出更跳输出更死板
maxToolIterations200长任务有保障,但失控时烧钱长任务可能被掐断
maxToolResultChars16000上下文吃紧工具输出被截断
contextWindowTokens65536模型窗口够才有意义早早触发上下文压缩
reasoningEffortnull启用思维链;更贵更慢更准关掉则全速但不深思
providerRetryModestandardpersistent 死磕同一 providerstandard 更早 fallback

研究/工程任务的常用基线:

{ "agents": { "defaults": {
"temperature": 0.1,
"maxTokens": 8192,
"maxToolIterations": 80,
"maxToolResultChars": 16000,
"contextWindowTokens": 128000,
"reasoningEffort": null,
"providerRetryMode": "standard"
}}}

reasoningEffort 取值:"low" / "medium" / "high" / "adaptive" / null。仅对支持思维链的模型(Claude extended thinking、OpenAI o-series 等)有效。

用环境变量覆盖(适合 CI / Docker)

任何字段都能用 MIRA_* 环境变量覆盖,嵌套字段用 __

export MIRA_AGENTS__DEFAULTS__MODEL="openai/gpt-4o"
export MIRA_AGENTS__DEFAULTS__TEMPERATURE=0.0
export MIRA_PROVIDERS__OPENAI__API_KEY="sk-..."
export MIRA_PROVIDERS__OPENROUTER__API_KEY="sk-or-..."

验收检查

  • mira status 显示 provider 已识别 + key 已加载(key 仅显示前缀)。
  • mira agent -m "ping" 能在 5 秒内拿到回复。
  • 切换 provider 后无残留 401/403。
  • 本地 provider(Ollama/vLLM)配置后 apiBase 可达:curl $apiBase/models 能返回列表。