atoms多模型调用需为每个模型配置独立有效鉴权凭证,否则触发401错误;须在atoms-config.yaml中为各provider设置唯一id、auth_type及对应密钥或token字段,并支持env_var或dotenv方式安全注入,私有模型还需启用hmac签名并严格匹配secret与算法。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

理解Atoms多模型调用的鉴权前提
Atoms框架支持同时向多个大模型(如OpenAI、Anthropic、Ollama)发起并行请求,但每个模型调用必须携带独立且有效的鉴权凭证,否则会触发401错误或被网关拦截。这要求你在配置阶段就为每个模型实例明确指定其专属的认证参数,而非共用一套密钥。
在Atoms配置文件中设置多模型鉴权参数
打开项目根目录下的 atoms-config.yaml 文件,定位到 providers 节点。每个模型提供者必须以唯一ID声明,并在其下嵌套完整鉴权字段:
① 在 providers 下为每个模型创建独立区块,ID不可重复(例如 openai_us_east 和 anthropic_us_west);
② 每个区块内必须包含 auth_type 字段,值仅可为 api_key 或 token;
③ 若 auth_type: api_key,则必须提供 api_key 字段,且该值不能为空字符串或纯空格——Atoms启动时会校验此项,【空值将导致整个provider初始化失败并静默跳过】;
④ 若 auth_type: token,则必须同时提供 token 和 token_type(如 Bearer、OAuth2),缺一不可。
通过环境变量注入敏感鉴权信息
方法一:使用 ENV_VAR 占位符
在 atoms-config.yaml 中直接写:api_key: "${OPENAI_API_KEY}"。Atoms运行时自动从系统环境变量读取值。此方式避免密钥硬编码,适合CI/CD流程。
方法二:启用 dotenv 支持
在项目根目录新建 .env 文件,写入:ANTHROPIC_API_KEY=sk-ant-xxx。Atoms默认加载该文件,无需额外配置——但注意,【.env 文件权限必须设为 600,否则启动时会警告并拒绝加载】。
为不同模型设置差异化签名策略
当调用支持 HMAC 签名的私有模型服务(如自建 LLaMA API 网关)时,需在 provider 配置中启用签名:
添加 signing_enabled: true;
指定 signing_secret ——该值必须与后端服务约定的密钥完全一致,大小写敏感;
设置 signing_algorithm 为 HMAC-SHA256 或 HMAC-SHA512,不支持 MD5;
若未配置 signing_timestamp_header 字段,Atoms 默认使用 X-Timestamp 头发送毫秒级时间戳,后端须据此校验请求时效性(建议窗口 ≤ 300 秒)。











