开发接入
Anthropic SDK / Messages 格式
使用 Anthropic 官方 SDK 或 /v1/messages 调用 Claude 与其他模型,也是 Claude Code 的接入方式。
除了 OpenAI 格式,Athandra 还提供 Anthropic 格式的 POST /v1/messages 接口,可以直接使用 Anthropic 官方 SDK,也是 Claude Code 的接入方式。
和 OpenAI 格式的区别
| OpenAI 格式 | Anthropic 格式 | |
|---|---|---|
| 路径 | /v1/chat/completions | /v1/messages |
| Key 放在 | Authorization: Bearer <Key> | x-api-key: <Key>(实测 Authorization: Bearer <Key> 也能用) |
| 版本头 | 无 | anthropic-version: 2023-06-01 |
max_tokens | 可选 | 必填 |
| SDK 的 Base URL | https://ai.athandra.com/v1 | https://ai.athandra.com(不带 /v1) |
最常见的错误
Anthropic SDK 会自己在 Base URL 后面拼接 /v1/messages,所以 Base URL 里不要再写 /v1,否则请求会变成 /v1/v1/messages。
调用示例
import os
import anthropic
client = anthropic.Anthropic(
api_key=os.environ.get("ATHANDRA_ANTHROPIC_KEY", os.environ["ATHANDRA_API_KEY"]),
base_url="https://ai.athandra.com", # 注意:Anthropic SDK 的 base_url 不带 /v1
)
message = client.messages.create(
model=os.environ.get("ATHANDRA_ANTHROPIC_MODEL", "claude-haiku-4-5"),
max_tokens=256,
messages=[{"role": "user", "content": "用一句话打个招呼"}],
)
print(message.content[0].text)
安装 SDK:
pip install anthropic选对分组和模型
原生 Claude 模型(例如 claude-haiku-4-5)只有 official 分组的令牌能用,default 分组的令牌调用会返回 model_not_found。使用 Claude 前,请在控制台创建令牌时选择 official 分组,并用 /v1/models 确认。
另外,/v1/messages 并不限于 Claude:实测 default 分组的 deepseek-v3.2 也能通过 Messages 格式调用(平台会自动转换格式),便于只会 Anthropic SDK 的工具使用国产模型。
实测结果
| 能力 | 模型 | 结果 |
|---|---|---|
| 基础对话 | claude-haiku-4-5(official 分组) | 可用,x-api-key 与 Bearer 两种鉴权都通过 |
| 基础对话 | deepseek-v3.2(default 分组) | 可用 |
流式("stream": true) | deepseek-v3.2 | 可用,返回标准 Anthropic SSE 事件 |
工具调用(tools / tool_use) | deepseek-v3.2 | 可用 |