Skip to content

跨协议调用 ​

NexusKey 的核心能力之一是协议无关性:你可以用任意支持的协议调用任意供给分组内的模型。例如用 OpenAI SDK 调用 Claude,或用 Anthropic SDK 调用 OpenAI 系模型。

路由规则 ​

请求进入网关后按以下顺序判定:

  1. 端点协议:/v1/chat/completions、/v1/responses 为 OpenAI 协议;/v1/messages 为 Anthropic 协议;
  2. 目标平台:按模型名前缀匹配 Key 绑定分组内的供给账号平台(claude-* → Anthropic,gpt-* 等 → OpenAI);
  3. 转换桥接:端点协议与目标平台不一致时自动转换:
    • OpenAI 端点 → Claude 模型:chat/responses 请求转为 Anthropic 原生上游调用;
    • Anthropic 端点 → OpenAI 系模型:/v1/messages 经 chat fallback 转换;
  4. 无匹配:分组内无对应平台账号或模型不存在时返回 404 model_not_found。

示例:OpenAI SDK 调 Claude ​

python
from openai import OpenAI

client = OpenAI(base_url="https://api.nexuskey.cn/v1", api_key="<你的 NEXUSKEY_API_KEY>")
completion = client.chat.completions.create(
    model="claude-sonnet-4-5",
    messages=[{"role": "user", "content": "用一句话解释协议无关性"}],
)
print(completion.choices[0].message.content)

示例:Anthropic SDK 调 OpenAI 系模型 ​

python
from anthropic import Anthropic

client = Anthropic(base_url="https://api.nexuskey.cn", api_key="<你的 NEXUSKEY_API_KEY>")
message = client.messages.create(
    model="gpt-5",
    max_tokens=1024,
    messages=[{"role": "user", "content": "用一句话解释协议无关性"}],
)
print(message.content[0].text)

转换边界与注意事项 ​

事项说明
工具调用双向转换支持 function tools;个别上游私有参数(如 OpenAI reasoning_effort)在跨协议桥接时可能被忽略
流式两协议均支持 SSE 透传,事件格式跟随端点协议(见 流式(SSE))
usage 口径结算按上游原生 usage 归一后计费,与端点协议无关;响应中 usage 字段跟随端点协议格式
视觉/多模态图片输入在两协议间双向转换;PDF 输入仅 Anthropic 原生端点保证支持
计数端点/v1/messages/count_tokens 对 OpenAI 系模型走桥接估算,结果可能与原生 Anthropic 计数略有差异

生产建议

若无历史包袱,优先使用模型的原生协议端点(Claude → Anthropic Messages,GPT → OpenAI Responses),可获得最完整的参数面与最低转换损耗。

NexusKey · 一个 Key 接入多协议模型 API