New API 手册 / Claude & Gemini 协议

Claude 与 Gemini 协议适配

除了 OpenAI 兼容,网关还原生适配 Anthropic Claude 与 Google Gemini 的协议,方便把已有的原生 SDK 直接指向本站。

Claude(Anthropic Messages)

接口:POST https://ai.moespark.dev/v1/messages,请求体沿用 Anthropic 规范。

curl https://ai.moespark.dev/v1/messages \
  -H "x-api-key: sk-你的令牌" \
  -H "anthropic-version: 2023-06-01" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "claude-3-5-sonnet",
    "max_tokens": 512,
    "system": "你是一个严谨的助手。",
    "messages": [{"role": "user", "content": "解释一下 REST 与 RPC 的区别"}]
  }'

主要字段:model、max_tokens(必填)、system、messages、temperature、stream、tools。响应为 Anthropic 的 content 块数组。

# Anthropic 官方 SDK
from anthropic import Anthropic
client = Anthropic(api_key="sk-...", base_url="https://ai.moespark.dev")
msg = client.messages.create(
    model="claude-3-5-sonnet", max_tokens=256,
    messages=[{"role": "user", "content": "你好"}],
)
print(msg.content[0].text)

Gemini(generateContent)

接口:POST https://ai.moespark.dev/v1beta/models/<model>:generateContent?key=sk-...

curl "https://ai.moespark.dev/v1beta/models/gemini-1.5-pro:generateContent?key=sk-你的令牌" \
  -H "Content-Type: application/json" \
  -d '{
    "contents": [
      {"role": "user", "parts": [{"text": "用三句话介绍量子计算"}]}
    ],
    "generationConfig": {"temperature": 0.7, "maxOutputTokens": 300}
  }'

流式用 :streamGenerateContent;多轮把历史放进 contents,role 取 user/model。

协议差异速览

维度OpenAIClaudeGemini
鉴权头Authorization: Bearerx-api-key?key=
对话路径/v1/chat/completions/v1/messages/v1beta/models/...:generateContent
系统提示role=system 消息顶层 system 字段systemInstruction
输出长度max_tokens(可选)max_tokens(必填)generationConfig.maxOutputTokens
流式stream=truestream=true流式方法路径
提示
选择哪套协议只看你的现有代码。三套都可指向同一个令牌、同一套额度;网关负责在内部转换到上游真实协议。