Anthropic 风格 Messages API
Anthropic 风格代理路由适合已经发送 Anthropic Messages 请求,并希望由 AISIX 管理网关侧认证、模型别名、路由和策略的应用。
客户端保持 Anthropic 风格请求和响应格式。AISIX 成为客户端调用的端点,上游服务提供方可以是 Anthropic,也可以是其它受支持的服务提供方协议族。
本指南说明代理 API 行为。可运行的客户端集成请参见 Anthropic SDK。
客户端发送的内容
客户端会发送三个由 AISIX 管理的值:
- base URL 是 AISIX 网关 Origin,末尾不包含斜杠或端点路径。
- API Key 是 AISIX 调用方 API Key。
- model 值是 AISIX 模型别名,例如
claude-prod。
请求体保持 Anthropic Messages 格式,包括 messages、max_tokens、tools 和 stream。调用方使用 AISIX 调用方 API Key,而不是上游 Anthropic 服务提供方密钥。
对于会发送这种形态的客户端,AISIX 也接受 messages[] 中的 system role。当上游路径需要 Anthropic 原生格式时,AISIX 会将开头的 system messages 映射到 Anthropic 顶层 system 字段。
Anthropic SDK 会以 x-api-key 发送调用方 API Key。对于直接 HTTP 客户端,AISIX 也接受 Bearer Token。
导出以下示例使用的网关连接和请求值:
# AISIX_PROXY 不含尾部斜杠或 /v1 等端点路径
# 本地快速入门使用 http://127.0.0.1:3000。
export AISIX_PROXY="YOUR_AISIX_GATEWAY_URL"
export AISIX_API_KEY="YOUR_CALLER_API_KEY"
export AISIX_MODEL="claude-prod"
Messages 请求
通过 AISIX 发送 Messages 请求:
curl -sS -X POST "${AISIX_PROXY}/v1/messages" \
-H "x-api-key: ${AISIX_API_KEY}" \
-H "Content-Type: application/json" \
-d '{
"model": "'"${AISIX_MODEL}"'",
"max_tokens": 128,
"messages": [
{
"role": "user",
"content": "Say hello from AISIX."
}
]
}'
成功响应使用 Anthropic Messages 格式。请求中的 model 值是 AISIX 模型别名,不一定是上游服务提供方模型 ID。