跳到主要内容

Anthropic SDK

将 Anthropic Python SDK 指向 AISIX AI 网关,在保留 Anthropic Messages 请求格式的同时,由网关管理调用方身份认证、模型别名、路由和策略。

SDK 只需要网关 base URL、AISIX 调用方 API Key,以及可通过 /v1/messages 使用的模型别名。该别名可以直接使用 Anthropic,也可以通过 AISIX 转换使用其他受支持的模型服务提供方。

准备工作

  • 应用可以访问的、正在运行的 AISIX 网关。
  • 可通过 /v1/messages 使用的已配置模型别名。
  • 允许使用该模型别名的调用方 API Key。
  • Python 3.9 或更新版本。

如果你的组织已部署 AISIX,请向负责管理的团队获取网关 URL、模型别名和调用方 API Key。否则,请按照开源 AISIX 网关快速入门AISIX Cloud 快速入门操作;如需使用 Hybrid Cloud,请联系 API7

如需在 AISIX Cloud 中配置原生 Anthropic 上游,请按照 Anthropic 指南操作。开源 AISIX 网关、On-Premises 和 Hybrid Cloud 的客户端配置相同。

请求流程

保留 Anthropic SDK 客户端,但将请求发送到网关,而不是直接调用上游模型服务提供方:


应用发送调用方 API Key 和 AISIX 模型别名。AISIX 对调用方进行授权、解析别名,并在调用上游模型时提供已保存的模型服务提供方凭证。

配置 SDK

设置调用方 API Key、模型别名和网关 base URL:

export AISIX_API_KEY="YOUR_CALLER_API_KEY"
export AISIX_MODEL="claude-sonnet-prod"
export AISIX_BASE_URL="http://127.0.0.1:3000"

Anthropic SDK 会将 /v1/messages 追加到 base URL。不要在 AISIX_BASE_URL 中包含 /v1

安装 Anthropic SDK

创建并激活 Python 虚拟环境:

python3 -m venv .venv
. .venv/bin/activate

安装 Anthropic SDK:

python -m pip install anthropic

创建客户端示例

创建以下客户端:

anthropic-sdk-example.py
import os

from anthropic import Anthropic

client = Anthropic(
api_key=os.environ["AISIX_API_KEY"],
base_url=os.environ["AISIX_BASE_URL"],
)

message = client.messages.create(
model=os.environ["AISIX_MODEL"],
max_tokens=128,
messages=[{"role": "user", "content": "Say hello from AISIX."}],
)

print(message.content[0].text)

运行示例:

python anthropic-sdk-example.py

你应该会看到一段简短的助手回复。具体文本取决于上游模型。

SDK 使用 AISIX 模型别名发送 POST /v1/messages 请求。AISIX 对调用方 API Key 进行身份认证、检查模型允许列表、解析别名,并返回 Anthropic 风格的 message 响应。

兼容性边界

POST /v1/messages 既可以解析由 Anthropic 支持的模型别名,也可以解析非 Anthropic 支持的模型别名。由 Anthropic 支持的别名最能直接保留 Anthropic 特有的请求和响应行为。

当你需要稳定的 Anthropic 风格客户端入口时,非 Anthropic 转换很有用,但它并不与原生 Anthropic 行为完全等价。如果应用依赖工具结果往返、thinking blocks、图片块或其它 Anthropic 特有内容块,建议优先使用由 Anthropic 支持的别名,并验证完整流程。

完整端点行为请参阅 Anthropic 风格 Messages API

如果 SDK 请求失败

先使用相同的调用方 API Key 和模型别名直接请求 /v1/messages。如果直接请求成功,请确认 AISIX_BASE_URL 指向网关根路径,并且不以 /v1 结尾。

如果 AISIX 返回 404,说明请求的模型别名未配置。如果 AISIX 返回 403,说明调用方 API Key 存在,但没有权限使用该别名。如果上游身份认证或模型发生错误,请验证模型服务提供方配置,不要替换调用方 API Key。

清理

删除本页创建的 Python 环境:

deactivate
rm -rf .venv

本示例使用的网关资源在本页之外创建。使用 AISIX Cloud 时,请在控制台中删除调用方 API Key、模型别名和模型服务提供方密钥。使用开源网关时,请从 resources.yaml 中移除相应条目并重新加载。

下一步

你现在已经通过 Anthropic SDK 客户端调用了 AISIX。接下来可阅读 Anthropic 风格 Messages API了解端点行为,阅读流式响应了解流式响应,或阅读 Anthropic 配置上游。