开发接入

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 URLhttps://ai.athandra.com/v1https://ai.athandra.com(不带 /v1)

最常见的错误

Anthropic SDK 会自己在 Base URL 后面拼接 /v1/messages,所以 Base URL 里不要再写 /v1,否则请求会变成 /v1/v1/messages。

调用示例

examples/python/anthropic_messages.py
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可用

本页目录