图灵 APIAI 大模型 API 中转站

首页 / 客户端配置 / Anthropic Python SDK

Anthropic Python SDK 接入图灵 API

Anthropic SDK 走 Messages 协议,请求打到 /v1/messages。它的 base_url 填法与 OpenAI SDK 正好相反:不要带 /v1,因为 SDK 会自己拼。

PythonAnthropic Messages 协议官方 SDK

配置速查

只改一个参数,但写法和 OpenAI SDK 不一样。

配置项填什么容易错在哪
base_urlhttps://turingapi.space不带 /v1,带了会 404
api_key控制台创建的 sk- 密钥SDK 会发成 x-api-key 头
max_tokens必填,例如 1024漏了会直接报参数错误
为什么这里不带 /v1:Anthropic SDK 会往 base_url 后面拼 /v1/messages。你填 https://turingapi.space,最终请求 https://turingapi.space/v1/messages,正好对。填了带 /v1 的地址就变成 /v1/v1/messages,404。

前置准备

装好 SDK、拿到密钥就能跑。

1
创建一个 API 密钥

在 注册页 建账号,控制台新建密钥并保存。同一把密钥在两种协议下通用。

2
安装 SDK

执行 pip install -U anthropic。

3
确认要用的模型

站内 claude-* 系列都支持 Messages 协议,模型名从 模型列表 复制。

配置步骤

两份示例:普通调用与流式调用。

基础调用 最小示例

  1. 初始化 Anthropic 客户端
  2. base_url 填域名,不带 /v1
  3. 调用 messages.create,别忘了 max_tokens
from anthropic import Anthropic
import os

client = Anthropic(
    base_url="https://turingapi.space",
    api_key=os.environ["TURING_API_KEY"],
)

msg = client.messages.create(
    model="claude-sonnet-5",
    max_tokens=1024,
    messages=[{"role": "user", "content": "你好"}],
)
print(msg.content[0].text)

max_tokens 是这个 SDK 的必填参数,漏掉会直接抛参数错误,很多人第一次用都会卡在这。

流式输出 常用写法

  1. 用 client.messages.stream 上下文管理器
  2. 注册 text_stream 逐段取文本
  3. 结束时可以取完整消息对象
with client.messages.stream(
    model="claude-sonnet-5",
    max_tokens=1024,
    messages=[{"role": "user", "content": "写一段快排"}],
) as stream:
    for text in stream.text_stream:
        print(text, end="", flush=True)

用 text_stream 比自己解析事件更省事,它已经把文本增量拼好了。

两种 SDK 混用 进阶

  1. 同一把密钥既能调 /v1/messages 也能调 /v1/chat/completions
  2. OpenAI SDK 也能调 Claude 模型,只是走 Chat Completions 协议
  3. 要原生 Messages 特性(如特定的 system 字段行为)就用这个 SDK

选哪个 SDK 取决于你想用哪套协议,不取决于模型属于哪家厂商。

验证是否配置成功

看到这些就说明通了

  1. 返回 msg.content[0].text 且是正常中文回答
  2. 没有抛 AuthenticationError
  3. 控制台「用量」页出现这次调用

能拿到 content 数组里的文本,说明 Messages 协议这条路是通的。

404 的定位方法

  1. 先看 base_url 是否多写了 /v1
  2. 再看模型名是否存在
  3. 最后确认密钥没有多余空格
print(client.base_url)

打印出来如果结尾是 /v1,去掉它再试,这是最高频的错误。

常见问题

这个 SDK 的坑几乎只有一个:base_url 多写了 /v1。

为什么一直 404?

base_url 写了 https://turingapi.space/v1。SDK 会自己拼 /v1/messages,你填的地址要停在域名这一层。

改成 https://turingapi.space 即可。

max_tokens 能不能不填?

不能。这个参数在 Anthropic 的接口里是必填项,漏了会直接报参数错误。一般给 1024 到 4096 之间,按用途调。

一把密钥能同时用两种协议吗?

能。同一把 sk- 密钥在 /v1/messages、/v1/chat/completions、/v1/responses 上都通用,不需要分别申请。

能用 OpenAI SDK 调 Claude 模型吗?

能,但走的是 Chat Completions 协议。如果你的代码依赖 Anthropic 特有的行为(比如 system 字段的处理方式),还是用这个 SDK 更稳。

相关客户端

还没密钥?注册后直接创建一个 邮箱注册即用,控制台自助创建密钥、查看用量与余额。
免费注册 →

接入过程卡住了?到 QQ 群 1128182538 说明「客户端 + 报错码 + 时间点」,比只说"用不了"好排查得多。其他通用问题见 常见问题。