跳转到内容

协议转换

codingas.com 网关内置 ProtocolConverter,实现 OpenAI 与 Anthropic 两种协议的互转。调用方可以用任一协议调用任一上游模型,无需关心后端实际协议。

调用协议上游模型行为
OpenAI(/v1/chat/completionsOpenAI 系列直通
OpenAI(/v1/chat/completionsAnthropic 系列OpenAI → Anthropic 转换
Anthropic(/anthropic/v1/messagesAnthropic 系列直通
Anthropic(/anthropic/v1/messagesOpenAI 系列Anthropic → OpenAI 转换
  • 统一 SDK:应用统一使用 OpenAI SDK,但希望调用 Claude 模型——直接在请求中指定 model: claude-sonnet-4-20250514 即可,网关自动转换
  • 迁移成本最小化:从 OpenAI 迁移到 Claude 或反向迁移时,无需修改客户端代码
Terminal window
curl https://{gateway-host}/v1/chat/completions \
-H "Authorization: Bearer sk-xxx" \
-H "Content-Type: application/json" \
-d '{"model":"claude-sonnet-4-20250514","messages":[{"role":"user","content":"你好"}]}'

网关自动将 OpenAI 请求转为 Anthropic 格式调用上游,响应再转回 OpenAI 格式返回调用方。

Terminal window
curl https://{gateway-host}/anthropic/v1/messages \
-H "x-api-key: sk-xxx" \
-H "anthropic-version: 2023-06-01" \
-H "Content-Type: application/json" \
-d '{"model":"gpt-4o","max_tokens":1024,"messages":[{"role":"user","content":"你好"}]}'
  • 字段映射遵循各协议规范,部分独有字段在转换中可能丢失;响应转换针对 OpenAI ↔ Anthropic 两个方向定向实现
  • 多模态:OpenAI 端点 content 为 String,不支持 image_url;多模态输入请使用 Anthropic 端点
  • 协议互转不改变路由与容灾行为,故障转移与熔断按渠道端点独立工作
  • 上游协议另支持 Gemini 插件(gateway.protocol.gemini.enabled,默认启用)作为多协议扩展示例;对外入站端点当前仅 OpenAI 与 Anthropic 两种

详见 对话补全 APIAnthropic 消息 API