使用 Anthropic SDK¶
使用官方 Anthropic Python SDK 调用 Genesis Messages API。本页说明 SDK 的认证参数和地址配置;它只适用于 Anthropic Messages 请求,不适用于 OpenAI Chat Completions 或 Responses API。
前提条件¶
已准备可用于 Genesis 的访问令牌。
已从获取可用模型取得支持 Messages 的模型 ID。
已安装 Python 和官方 Anthropic Python SDK。
pip install anthropic
配置环境变量¶
控制台提供的 Genesis Base URL 通常以 /v1 结尾。Anthropic SDK 需要 Genesis 的 origin/root,并自行追加 /v1/messages,因此不要把完整的 OpenAI 兼容 Base URL 直接传给 SDK:
export GENESIS_BASE_URL='<Genesis Base URL copied from the console>'
export GENESIS_MESSAGES_ORIGIN="${GENESIS_BASE_URL%/v1}"
export GENESIS_ACCESS_TOKEN="<ACCESS_TOKEN>"
GENESIS_MESSAGES_ORIGIN 应为不包含 /v1 的地址。请以控制台当前提供的地址为准。
发送 Messages 请求¶
将令牌传给 auth_token。不要将 Genesis 访问令牌传给 api_key;该参数会使用 X-Api-Key 请求头,而 Genesis Messages 请求使用 Authorization: Bearer <ACCESS_TOKEN>。
import os
from anthropic import Anthropic
client = Anthropic(
auth_token=os.environ["GENESIS_ACCESS_TOKEN"],
base_url=os.environ["GENESIS_MESSAGES_ORIGIN"],
)
message = client.messages.create(
model="<MESSAGES_MODEL_ID>",
max_tokens=1024,
messages=[
{
"role": "user",
"content": "用一句话解释数据血缘。",
}
],
)
for block in message.content:
if block.type == "text":
print(block.text)
调用成功后,SDK 返回 Messages 响应对象。输出可能包含多个内容块,因此应检查内容块类型后再读取 text。
使用 SDK 时的注意事项¶
项目 |
配置或处理方式 |
|---|---|
认证 |
使用 |
地址 |
|
模型 |
使用当前凭证可访问且支持 Messages 的模型 ID。 |
流式输出 |
在 Messages 请求中启用 |
图像输入 |
使用 Anthropic Messages 内容块格式,并先确认模型支持多模态输入。 |
工具调用 |
仅在端点、模型和当前服务配置均支持时使用。 |
stream、图像内容块和工具定义属于 Messages 请求参数。字段结构、SSE 处理与能力限制见Anthropic Messages API。
常见问题¶
现象 |
先检查 |
下一步 |
|---|---|---|
|
是否使用了 |
改用 |
返回路径错误 |
|
将 |
模型不可用 |
模型 ID 与当前凭证范围 |
从当前可用模型列表中重新选择模型。 |
结果没有预期文本 |
是否假设响应只包含一个文本内容块 |
遍历 |