Skip to Content
Anthropic 协议

Anthropic 协议

OpenApi 兼容 Anthropic 的 Messages 接口,适合直接使用 Claude 官方 SDK,或需要 Claude 原生特性的场景。

与 OpenAI 协议的区别

如果你已经看过 OpenAI 协议,只需留意这几处不同:

OpenAI 协议Anthropic 协议
端点/v1/chat/completions/v1/messages
鉴权头Authorization: Bearer sk-...x-api-key: sk-... + anthropic-version
系统提示放进 messages(role: system)顶层独立参数 system
max_tokens可选必填
SDK 的 base_url/v1不带 /v1(SDK 自动补全)
回复正文choices[0].message.contentcontent[0].text

接口地址

POST https://api.openrealm.cn/v1/messages

请求头

头部
x-api-key你的 API Key
anthropic-version2023-06-01
Content-Typeapplication/json

基础示例

curl https://api.openrealm.cn/v1/messages \ -H "x-api-key: $OPENAPI_KEY" \ -H "anthropic-version: 2023-06-01" \ -H "Content-Type: application/json" \ -d '{ "model": "claude-sonnet-4.6", "max_tokens": 1024, "messages": [ { "role": "user", "content": "用一句话介绍你自己" } ] }'

Python / Node SDK 的 base_urlhttps://api.openrealm.cn(不含 /v1),SDK 会自动拼接 /v1/messages。直接用 curl 时才写完整路径。

系统提示与多轮对话

system顶层参数,不放进 messages;多轮对话同样把历史回填进 messages:

msg = client.messages.create( model="claude-sonnet-4.6", max_tokens=1024, system="你是一个简洁的中文助手。", messages=[ {"role": "user", "content": "我叫小明。"}, {"role": "assistant", "content": "你好,小明!"}, {"role": "user", "content": "我叫什么名字?"}, ], ) print(msg.content[0].text)

流式输出

with client.messages.stream( model="claude-sonnet-4.6", max_tokens=1024, messages=[{"role": "user", "content": "写一首关于秋天的短诗"}], ) as stream: for text in stream.text_stream: print(text, end="", flush=True)

直接用 curl 时,在请求体加上 "stream": true,服务端会以 SSE 事件流(message_startcontent_block_deltamessage_stop 等)返回。

常用参数

参数类型说明
modelstring模型名,必填
messagesarray对话消息,必填
max_tokensinteger最大输出 token,必填
systemstring系统提示(顶层参数)
temperaturenumber随机性,0~1
streamboolean是否流式,默认 false
stop_sequencesarray命中即停止生成的字符串

响应结构

{ "id": "msg_...", "type": "message", "role": "assistant", "model": "claude-sonnet-4.6", "content": [ { "type": "text", "text": "……" } ], "stop_reason": "end_turn", "usage": { "input_tokens": 18, "output_tokens": 24 } }
  • 回复正文:content[0].text(content 是数组,可能含多个块)
  • 用量:usage.input_tokens / usage.output_tokens

忘记 max_tokens 会直接报错 —— 它是 Anthropic 协议的必填项。

Last updated on