Anthropic Messages
支持上线后,Claude Code 和 Anthropic SDK 应使用原生 Messages 协议。不要把 OpenAI 的 /v1 Base URL 配给 Anthropic 客户端。
POST https://api.nexinfer.com/v1/messagescurl https://api.nexinfer.com/v1/messages \ -H "x-api-key: $NEXINFER_API_KEY" \ -H "anthropic-version: 2023-06-01" \ -H "content-type: application/json" \ -d '{ "model": "YOUR_CLAUDE_MODEL_ID", "max_tokens": 256, "messages": [{"role":"user","content":"Reply with OK."}] }'max_tokens 是 Messages 请求的必填字段。模型名必须在当前 Key 的权限范围内。
System 指令
Section titled “System 指令”Messages 使用顶层 system 字段,不要在 messages 数组中添加 role: "system":
{ "model": "YOUR_CLAUDE_MODEL_ID", "max_tokens": 256, "system": "Answer concisely.", "messages": [{"role":"user","content":"Explain health checks."}]}NexInfer 不主动注入或覆盖 System Prompt。
设置 "stream": true 后返回 SSE。客户端应按 Anthropic 事件类型处理,例如 message_start、content_block_delta、message_delta 和 message_stop,不要把它当作 OpenAI 的流式格式解析。
在 tools 中声明工具及输入 Schema。Claude 返回 tool_use 内容块后,客户端执行工具,并在后续用户消息中发送与调用 ID 对应的 tool_result。
{ "name": "get_weather", "description": "Get weather for a city", "input_schema": { "type": "object", "properties": {"city": {"type": "string"}}, "required": ["city"] }}始终校验模型生成的工具参数。涉及写操作时,应设计确认步骤和幂等机制。
Prompt Cache
Section titled “Prompt Cache”支持缓存的模型可以在 system、消息内容块或工具定义等位置使用 cache_control。缓存能力、最小内容长度和计费以具体模型及模型供应商规则为准。
NexInfer 不会主动删除 cache_control,但这不代表所有 Claude 模型都提供相同缓存能力。
Extended Thinking
Section titled “Extended Thinking”支持该能力的模型可使用 thinking 配置。它与 max_tokens、工具调用和模型版本之间存在约束,应遵循所选模型的 Anthropic 官方要求。
NexInfer 不主动修改 thinking 或降低推理配置;不支持的组合仍可能由模型供应商返回 400。
400:检查max_tokens、顶层system、内容块结构和模型能力。401/403:检查x-api-key、模型权限和 Base URL。- 流式解析失败:确认使用 Anthropic SSE 事件,而非 OpenAI chunk 结构。
- 工具循环中断:检查
tool_use.id与tool_result.tool_use_id是否匹配。
官方参考:Messages API · 流式 · 工具调用 · Prompt caching · Extended thinking