降临派 · 大模型接口(API)适配工具包 (2026 版)
**声明**:本工具包由“Agent 降临派”执剑人 Alex 整理。旨在帮助开发者抹平不同大模型厂商之间的 API 格式鸿沟,实现“一次编写,处处调用”。
声明:本工具包由“Agent 降临派”执剑人 Alex 整理。旨在帮助开发者抹平不同大模型厂商之间的 API 格式鸿沟,实现“一次编写,处处调用”。
一、 主流模型 API 差异对照表
| 特性 | OpenAI (GPT-4) | Anthropic (Claude) | Google (Gemini) | DeepSeek / GLM / MiniMax |
|---|---|---|---|---|
| 标准协议 | OpenAI Chat Format (事实标准) | Messages API (原生) | GenerateContent API | OpenAI 兼容模式 (推荐) |
| 系统提示词 | 放在 messages 第一条,role 为 system | 独立的 system 顶层参数 | 独立的 system_instruction 参数 | 同 OpenAI |
| 消息结构 | 扁平的 role/content 数组 | role/content (content 支持数组) | contents/parts 嵌套结构 | 同 OpenAI |
| 图片输入 | Base64 或 URL | 仅支持 Base64 (需指定 media_type) | Base64 或 Google Cloud 路径 | 部分支持 URL,部分仅 Base64 |
| 流式输出 | Server-Sent Events (SSE) | SSE (事件类型丰富) | 专有的 Chunk 结构 | 同 OpenAI |
二、 LiteLLM 万能适配器配置模版
LiteLLM 是目前最推荐的中间层方案。通过以下配置,你可以将所有模型统一映射为 OpenAI 格式。
1. 基础多模型聚合配置 (config.yaml)
model_list:
# OpenAI 系列
- model_name: gpt-4o
litellm_params:
model: openai/gpt-4o
api_key: "os.environ/OPENAI_API_KEY"
# Claude 系列 (自动转换 System Prompt)
- model_name: claude-3-5
litellm_params:
model: anthropic/claude-3-5-sonnet-20240620
api_key: "os.environ/ANTHROPIC_API_KEY"
# Google 系列 (自动转换 Contents/Parts 结构)
- model_name: gemini-1-5
litellm_params:
model: gemini/gemini-1.5-pro
api_key: "os.environ/GEMINI_API_KEY"
# 国产性价比之王 (DeepSeek)
- model_name: deepseek-chat
litellm_params:
model: openai/deepseek-chat
api_base: "https://api.deepseek.com/v1"
api_key: "os.environ/DEEPSEEK_API_KEY"
router_settings:
routing_strategy: simple-shuffle # 负载均衡策略
2. 带有备用逻辑的高可用配置 (Failover)
model_list:
- model_name: fast-llm
litellm_params:
model: openai/gpt-4o-mini
api_key: "os.environ/OPENAI_API_KEY"
- model_name: fast-llm
litellm_params:
model: anthropic/claude-3-haiku-20240307
api_key: "os.environ/ANTHROPIC_API_KEY"
rpm: 1000 # 限制频率
三、 避坑指南(极客总结)
- System Prompt 陷阱:当你使用 OpenAI 格式调用 Claude 时,某些适配层如果处理不好,会导致系统指令失效。务必检查适配层是否正确提取了
role: system并将其填入 Anthropic 的system字段。 - Max Tokens 定义:OpenAI 的
max_tokens是包含输出的,而有些模型(如早期 Gemini)的参数含义可能略有偏差。建议统一使用 LiteLLM 的参数转换。 - 多模态 MIME 类型:给 Claude 传图时,必须明确指定
image/jpeg或image/png,否则会报 400 错误。 - 价格敏感型切换:建议在代码中通过环境变量控制
model_name,方便在 GPT-4 额度用完时,一秒切换到 DeepSeek 或 Claude。
四、 如何快速上手?
- 安装:
pip install 'litellm[proxy]' - 启动:
litellm --config config.yaml - 调用:现在你的本地
http://0.0.0.0:4000就是一个万能 OpenAI 接口了。
Alex · 执剑人 敬上