内容更新: 2026-10-24LiteLLM 可以作为企业的统一 AI 网关:应用接入 LiteLLM,再由 LiteLLM 调用 Crazyrouter。项目、部门、虚拟密钥、预算和审计策略需要在你自己的 LiteLLM 部署中配置,不会因为填入 Crazyrouter API Key 自动启用。
接入架构与准备
准备 Python 3.11、一个专用 Crazyrouter 推理密钥,以及该密钥可访问的模型。本文按 LiteLLM 1.106.2 验证,不代表它是最新版本。四个示例模型为claude-opus-5-5、gpt-6-astra、glm-5.3、deepseek-v4.1-flash;请按实际可用模型调整。
1. 安装与环境变量
在一个新的工作目录运行以下命令。环境变量只作用于当前终端;已有网关应沿用安全管理的主密钥,不要随意重新生成。容器部署时,变量必须传入容器内部。Windows 如无法激活虚拟环境,可直接调用.venv\Scripts 内的 python.exe 和 litellm.exe。
2. 导出配置并启动
推荐使用已鉴权的GET /v1/litellm/config,获取模型及适用于当前凭据的价格快照。响应是一个包装对象:只能将其中的 config 保存为 LiteLLM 配置,不要把整个响应直接写进去。下面脚本保存为 export_config.py,使用 JSON(也是合法 YAML),保留 model_info 价格并引用环境变量,不写入真实密钥。
export_config.py
脚本拒绝覆盖现有文件;更新时先备份并比较配置,再合并到现有网关并显式重载。
4100 只是示例端口,如已占用请同时修改启动命令和验证地址。该命令仅监听本机,不会修改或重启现有服务。3. 验证本地网关
保持代理终端运行,在另一个已安装相同环境的终端安全设置同一个LITELLM_MASTER_KEY,不要重新生成。保存以下脚本为 verify_proxy.py。本次管理员冒烟测试会产生正常模型用量;日常应用应改用受限虚拟密钥。
verify_proxy.py
[DONE] 和最终 usage;工具测试应检查参数并完成工具结果回传。仅有 HTTP 200、思考文本或 Markdown JSON 围栏不算通过。
4. Claude 原生协议(可选)
默认导出使用openai/<model>,api_base 为 https://api.crazyrouter.com/v1。需要 Claude 原生缓存、thinking 等语义时,单独用 provider=anthropic&models=claude-opus-5-5 导出,使用 anthropic/<model> 和根地址 https://api.crazyrouter.com,不要追加 /v1 或 /chat/completions。
model_info。若与 OpenAI 适配器同时注册,给原生项使用 claude-native 这样的独立 model_name,客户端通过该别名调用,避免同名条目混合路由。
兼容性与错误处理
- 保持
drop_params: false,不静默丢弃不支持的参数。 - 已验证 Claude 的
json_schema;json_object明确不支持,不会自动转换为另一种输出保证。 - 在本次已测 Claude 路径中,强制指定工具 /
required请求被明确拒绝:HTTP400,直连错误码unsupported_forced_tool_choice。需要自动工具选择时,由客户端显式改用tool_choice: "auto";网关不会自动降级强制调用。 - 对上述拒绝,客户端收到固定的安全英文说明,不返回内部服务配置或凭据。LiteLLM 1.106.2 的 OpenAI 适配器保留英文消息,但会把错误码包装为
"400";不要只按原始错误码匹配。 - Claude
cache_control的5m/1hTTL 可透传;5m 创建与读取已测,1h 只验证了冷写入,不保证命中率或一小时后的读取。 - 模型能力、可用性、视觉、长上下文、故障转移和企业预算需要分别验收,不能从模型名称或这份接入文档推断。
团队、预算与生产安全
- 按项目或部门创建 LiteLLM 团队和受限虚拟密钥,设置模型权限、预算及速率限制;不要共享主密钥。
- 按 LiteLLM 官方要求配置数据库、认证、权限和持久化。本地无数据库启动只验证推理链路,不代表预算已生效;功能和授权要求以所用版本为准。
- 上线前分别测试越权模型拒绝、预算耗尽、密钥吊销、限流和审计。保护日志中的提示词和个人信息,并明确保留期限。
- 对外访问应配置 HTTPS 与访问控制,不要直接暴露本机演示服务或管理入口。
- 导出的价格是快照。价格或折扣变化后需重新导出、导入并重载;不会自动推送。LiteLLM 成本估算不等同于 Crazyrouter 最终账单,应定期对账。