☰
OpenSwarm模型配置详解:DEFAULT_MODEL与LiteLLM如何让你自由切换GPT和Claude
2026/10/1 21:19:35 网站建设 项目流程

OpenSwarm模型配置详解:DEFAULT_MODEL与LiteLLM如何让你自由切换GPT和Claude

【免费下载链接】OpenSwarmClaude code for everything except coding项目地址: https://gitcode.com/gh_mirrors/open/OpenSwarm

如果你正在寻找OpenSwarm 模型配置的方法,这篇文章正是为你准备的。OpenSwarm 是一个开源的多智能体 AI 团队("Claude Code for everything except coding"),8 个专业智能体协作完成幻灯片、深度研究、文档、图片与视频生成。它的核心设计是:所有智能体共用一个DEFAULT_MODEL环境变量,配合 LiteLLM 自动路由,你可以一行配置在 GPT 和 Claude 之间自由切换。

🔍 为什么 OpenSwarm 的模型切换如此简单?

传统做法是每个智能体各自硬编码模型,改一个模型要改 N 处代码。OpenSwarm 的做法完全不同——

所有智能体绝不硬编码模型,而是启动时统一读取.env中的DEFAULT_MODEL。

这一约定写在项目的定制指南 AGENTS.md 中:

Models are configured viaDEFAULT_MODELin.env— never hardcoded

也就是说,无论 Orchestrator(协调者)、Slides Agent、Deep Research 还是 Video Agent,全部智能体的模型定义都调用同一个函数,模型选择集中管理。整个智能体网络的组装过程见 swarm.py。

⚙️ 核心原理:一个环境变量管住 8 个智能体

模型配置的全部逻辑集中在 config.py 里,只有不到 40 行:

def get_default_model(fallback: str = "gpt-5.4"): model = os.getenv("DEFAULT_MODEL", fallback) return _resolve(model)

工作流程非常简单:

  1. 启动时从环境变量读取DEFAULT_MODEL(未设置则回退到gpt-5.4)
  2. 判断模型字符串里有没有斜杠/
  3. 没有斜杠 → 按 OpenAI 原生模型处理;有斜杠 → 交给 LiteLLM 路由

每个智能体在定义时都直接引用它,例如:

from config import get_default_model # 所有智能体统一写法 model=get_default_model()

涉及 orchestrator/orchestrator.py、slides_agent/slides_agent.py、deep_research/deep_research.py、virtual_assistant/virtual_assistant.py 等全部 8 个智能体文件。

🚦 LiteLLM 如何自动路由你的模型

关键就藏在命名约定里,这是 OpenSwarm 模型配置最巧妙的部分:

写法是否含/路由方式
gpt-5.4❌OpenAI 原生直连
o3❌OpenAI 原生直连
litellm/claude-sonnet-4-6✅LiteLLM → Anthropic
litellm/gemini/gemini-3-flash✅LiteLLM → Google

判断逻辑在 config.py 的is_openai_provider()函数中:

OpenAI model IDs never contain a slash (e.g. 'gpt-5.4', 'o3'). Any 'provider/model' string is treated as a LiteLLM-routed model.

而实际的路由发生在 _resolve() 函数中:只要模型名带斜杠,就会自动剥掉litellm/前缀,构造一个LitellmModel对象(来自底层框架 agency-swarm),无需手写任何客户端代码。

🎯一句话总结:写gpt-5.4就走 OpenAI,写litellm/...就走 LiteLLM,框架自己识别。

🛠️ 三步切换:从 GPT 到 Claude 的最快配置方法

切换模型只需要改项目状态目录下的.env文件,模板见 .env.example:

1️⃣ 保持原来的 OpenAI 配置

OPENAI_API_KEY=sk-xxx DEFAULT_MODEL=gpt-5.4

2️⃣ 切换为 Claude 只需两行

ANTHROPIC_API_KEY=sk-ant-xxx DEFAULT_MODEL=litellm/claude-sonnet-4-6

3️⃣ 或者切到 Google Gemini

GOOGLE_API_KEY=xxx DEFAULT_MODEL=litellm/gemini/gemini-3-flash

就这么简单——没有代码改动,重启即可,全部 8 个智能体同步生效。

🔁 智能体的模型回退逻辑(进阶)

部分高级工具(如 Slides Agent 的幻灯片 HTML 编写器)有多级模型优先级,见 slides_agent/tools/ModifySlide.py:

  1. 存在ANTHROPIC_API_KEY→ 优先用 Claude Sonnet 4.6
  2. DEFAULT_MODEL为非 OpenAI 模型 → 走 LiteLLM 路由
  3. 复用调用方智能体的 OpenAI 客户端(支持 Codex 浏览器认证)
  4. 最终回退到 SDK 默认客户端

这种设计保证了:无论你配的是哪家模型,工具链都能"优雅降级",并且当缺少某个厂商的 Key 时,shared_tools/model_availability.py 会清晰告诉你哪些模型可用、缺哪个 Key,而不是直接报错。

📋 常见配置速查表

需求.env配置说明
OpenAI 默认DEFAULT_MODEL=gpt-5.4未配置时的内置回退值
主力 ClaudeDEFAULT_MODEL=litellm/claude-sonnet-4-6需ANTHROPIC_API_KEY
主力 GeminiDEFAULT_MODEL=litellm/gemini/gemini-3-flash需GOOGLE_API_KEY
混合场景两个 API Key 都填智能体按优先级自动选择

✅ 小结

OpenSwarm 的模型配置体现了多智能体系统的好实践:

  • 单一入口:DEFAULT_MODEL一个变量控制所有智能体
  • 零代码路由:/有无自动区分 OpenAI 直连与 LiteLLM 路由
  • 优雅降级:缺少 Key 时给出明确提示而非崩溃
  • 永不硬编码:改配置即换模型,Fork 后自定义 Swarm 同样受益

想深入了解智能体结构,可以阅读 AGENTS.md;想查看各智能体如何使用模型,入口都在 config.py 这一个文件里。

【免费下载链接】OpenSwarmClaude code for everything except coding项目地址: https://gitcode.com/gh_mirrors/open/OpenSwarm

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询