# 用 Anthropic SDK 调用

本页假定你的应用已经使用 Anthropic Python SDK。完成本页后，应用会通过 Genesis 的 Messages 形态获得一条文本回复。

完整的接入方式和使用边界见 [Genesis SDK](../../sdk/genesis-compatible/index.md)。

(sdk-genesis-anthropic-flow)=
## 调用如何推进

Anthropic 客户端使用 Genesis origin/root 作为服务地址，并由客户端追加 Messages 的版本路径。客户端提交消息后，成功响应保持 Messages 的内容块形态；读取文本时应从内容块读取，而不是按 Chat Completions 的响应结构解析。

(sdk-genesis-anthropic-prepare)=
## 准备调用

准备以下内容：

| 需要的内容 | 如何取得 | 在本页中的作用 |
| --- | --- | --- |
| 已有的 Anthropic Python SDK | 使用应用当前依赖，不在本页安装或指定版本 | 创建调用客户端 |
| Genesis origin/root | 从当前环境的 Genesis 接入信息中取得 | 作为客户端的服务地址 |
| Genesis 个人访问令牌 | 从当前环境的 Genesis 接入信息中取得 | 作为客户端凭据 |
| 支持 Messages 的模型 ID | 从当前环境提供的模型信息或[查看模型列表](../../../reference/api/genesis/models.md)中选择 | 指定本次调用的模型 |

此客户端使用个人访问令牌的认证形态。服务账号 API Key 使用的认证 Header 不同；需要使用服务账号时，按 [Messages（Anthropic）](../../../reference/api/genesis/text-generation/anthropic-messages.md) 的 HTTP 请求说明操作。

(sdk-genesis-anthropic-call)=
## 发送一次 Messages 请求

以下示例创建客户端并提交一条用户消息。返回后从第一个内容块读取文本结果。

```python
import os

from anthropic import Anthropic

client = Anthropic(
    base_url=os.environ["GENESIS_ORIGIN"],
    api_key=os.environ["GENESIS_PERSONAL_ACCESS_TOKEN"],
)

message = client.messages.create(
    model=os.environ["GENESIS_MODEL_ID"],
    max_tokens=1024,
    messages=[
        {"role": "user", "content": "用一句话解释数据血缘。"},
    ],
)

print(message.content[0].text)
```

打印出文本表示本次 Messages 调用已返回。模型必须支持 Messages；流式输出、图文输入和工具调用的可用性取决于当前模型和服务配置。

(sdk-genesis-anthropic-call-next)=
## 下一步

- 需要完整请求、响应、认证或错误说明时，查看 [Messages（Anthropic）](../../../reference/api/genesis/text-generation/anthropic-messages.md)。
- 查看[Genesis SDK 中的 Anthropic SDK 使用边界](../../sdk/genesis-compatible/anthropic-sdk.md)。
