Anthropic Messages

调用 Claude Messages,读取内容块并处理 Anthropic 流事件。

POST https://enterprise.beefapi.com/v1/messages

Claude 接入优先使用 Messages 协议。使用企业 Key,包含 anthropic-version 请求头。Anthropic SDK 的 Base URL 应是企业根地址,不带 /v1。

请求示例

curl --fail-with-body https://enterprise.beefapi.com/v1/messages \
  -H "x-api-key: $BEEFAPI_KEY" \
  -H "anthropic-version: 2023-06-01" \
  -H "Content-Type: application/json" \
  -d '{"model":"claude-sonnet-4-6","max_tokens":512,"messages":[{"role":"user","content":"用一句话解释 API 网关。"}]}'
字段类型说明
modelstring必填,企业目录中的 Claude 型号
max_tokensinteger必填,输出 token 上限;模型可能提前结束
messagesarray必填,用户和助手消息
systemstring 或支持的内容块可选,系统提示放顶层,不用 system 角色消息代替
streamboolean可选,开启 Anthropic SSE
toolsarray可选,工具定义,需按模型和协议支持情况使用

返回内容块

示例响应(省略部分字段):

{
  "id":"msg_example",
  "type":"message",
  "role":"assistant",
  "model":"claude-sonnet-4-6",
  "content":[{"type":"text","text":"API 网关统一接收请求并把它们转发到合适的服务。"}],
  "stop_reason":"end_turn",
  "usage":{"input_tokens":18,"output_tokens":20}
}

遍历 content 中 type: text 的块读取文字。其他块可能是工具使用或思考内容,不能假设所有块都有 text。工具使用由应用处理,回传对应的 tool_result;不要将 Messages 工具结构直接改名当作 OpenAI tool_calls。

stop_reason 表明停止原因。达到输出上限与正常结束不是同一情况;需要更长回答时,先确认型号的上限与费用。

流式处理

添加 "stream": true。事件包括消息、内容块的开始/增量/结束,最终以 message_stop 结束;请使用 Anthropic SDK 或对应 SSE 解析器。不要等待 Chat Completions 的 [DONE] 作为此协议唯一结束信号。

客户端接入 提供 Python 示例。若收到 401/403,先核对企业 Key 和域名;收到参数错误则检查 max_tokens、模型 ID 及内容块格式,见 错误排查。

本页内容