atoms多模型调用需四步:配置providers并设capabilities标签,启用router开关,设置model_profiles与performance_metrics,最后重启服务;api可手动指定x-model-id,环境变量atoms_default_model仅影响兜底模型。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

Atoms多模型同时调用配置方法(完整示例)
要在Atoms平台中让多个大模型并行响应同一请求或按任务类型自动分流,必须绕过默认的单模型绑定机制,显式声明Provider集群、启用路由中枢,并为每个模型打上可被语义识别的能力标签。手动修改配置文件时漏掉capabilities字段或未重启服务,会导致所有请求仍走默认模型。
配置多Provider并启用路由器开关
第一步:打开Atoms根目录下的config.yaml文件,在models.providers节点下逐个添加模型配置块。每个块必须包含id(如qwen3-235b)、type(如ollama或openai)、baseUrl(非本地Ollama需填完整地址)、apiKey(若需认证),以及最关键的capabilities数组。
第二步:在models.router节点下将enabled设为true,并指定一个defaultModel(例如qwen3-235b)。这个兜底模型会在所有能力匹配失败时启用。
第三步:为每个模型的capabilities填入互不重叠的语义标签,比如["coding", "debug"]、["legal", "document"]、["multimodal", "pdf"]。标签必须小写、无空格、用英文逗号分隔——【大小写混用或含中文空格会导致路由完全失效】。
第四步:保存后执行atoms restart命令。不重启,新配置不会加载进内存,所有请求仍将被忽略路由逻辑直接发往主模型。
基于能力画像的任务调度配置
这一步决定“什么任务交给哪个模型”。Zoe调度器不看关键词匹配,而是比对任务内容与模型实测性能指标之间的语义相似度。
方法一:编辑config/orchestrator.yaml文件,在model_profiles节中为每个模型ID添加specialization字段,值必须是预定义标准标识,例如"code_generation"、"logic_review"、"multimodal_understanding"。填错任意一个标识,该模型将无法被任何任务命中。
方法二:为每个模型补充performance_metrics,包括avg_response_time_ms(毫秒)和task_accuracy_rate(0.0–1.0之间的小数)。这两个数值必须来自你本地实测结果,不能凭经验填写——Zoe会用它们加权计算调度优先级。
方法三:保存后运行atoms reload --orchestrator。该命令不中断服务,但仅刷新调度画像,不重载模型本身。如果此前没跑通第一步的restart,这步reload毫无意义。
API调用中手动指定模型名称
当需要绕过自动路由、强制使用某模型时,在HTTP请求头中加入X-Model-ID: claude-sonnet-4-6即可。该字段优先级高于所有能力画像规则,且无需重启服务。
curl -X POST http://localhost:8080/v1/chat/completions \
-H "Content-Type: application/json" \
-H "X-Model-ID: deepseek-chat" \
-d '{"messages": [{"role": "user", "content": "写一段Python爬虫"}]}'
注意:该Header只在启用路由器后才生效;若路由器关闭,此Header会被直接忽略。
用环境变量动态切换默认模型
在启动Atoms前,设置环境变量ATOMS_DEFAULT_MODEL=qwen3-235b。它会覆盖config.yaml中models.router.defaultModel的值,且对所有未带X-Model-ID头的请求生效。
export ATOMS_DEFAULT_MODEL=gemini-2.0-flash
atoms start
这个变量只影响兜底行为,不影响能力路由决策过程。即使你把defaultModel设成gpt-4o,只要用户提问“帮我审合同”,系统仍会把请求发给标有["legal"]能力的Claude实例。











