Python调用Claude API并不复杂,安装一个SDK,准备好API Key和模型名称,就可以发出第一条请求。

比较容易出错的地方反而是接口地址。有些人只填了/v1,有些人把Key直接写进代码,还有人遇到429后一直循环重试。下面给出一个能直接改的示例,也把常见错误放在一起说明。

一、准备Python环境

建议使用Python 3.9或更高版本。

安装OpenAI Python SDK:

pip install -U openai

这里使用OpenAI SDK,是因为本文使用的接口兼容OpenAI格式。调用Claude时,不需要再单独改一套请求结构。

API Key不要直接写进代码,可以先放到环境变量。

macOS或Linux:

export RANKUN_API_KEY="sk-替换成自己的Key"

Windows PowerShell:

$env:RANKUN_API_KEY="sk-替换成自己的Key"

二、发送第一条Claude API请求

新建claude_demo.py文件:

import os
from openai import OpenAI

client = OpenAI(
    api_key=os.environ["RANKUN_API_KEY"],
    base_url="https://api.rankunai.com/v1",
    timeout=30.0,
    max_retries=2,
)

response = client.chat.completions.create(
    model="claude-sonnet-4-6",
    messages=[
        {
            "role": "user",
            "content": "请用三句话解释什么是大模型API",
        }
    ],
    temperature=0.2,
)

print(response.choices[0].message.content)

运行代码:

python claude_demo.py

正常情况下,终端会打印Claude返回的文本。

示例使用claude-sonnet-4-6。模型名称会随着平台更新发生变化,正式使用时要在控制台或模型价格页确认当前可用的模型ID,大小写、日期后缀都要保持一致。

三、为什么Base URL只写到/v1

SDK配置中的Base URL是:

https://api.rankunai.com/v1

OpenAI SDK会继续拼接/chat/completions,所以不用在base_url里写完整接口路径。

如果改用curl直接请求,地址就要写完整:

curl https://api.rankunai.com/v1/chat/completions \
  -H "Authorization: Bearer $RANKUN_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "claude-sonnet-4-6",
    "messages": [
      {
        "role": "user",
        "content": "你好,请介绍一下你自己"
      }
    ]
  }'

curl如果只请求https://api.rankunai.com/v1,少了具体资源路径,通常会返回404。

四、增加流式输出

回答比较长时,可以使用流式输出。用户不用一直等到全部内容生成结束。

stream = client.chat.completions.create(
    model="claude-sonnet-4-6",
    messages=[
        {
            "role": "user",
            "content": "写一份AI项目上线检查清单",
        }
    ],
    stream=True,
)

for chunk in stream:
    text = chunk.choices[0].delta.content
    if text:
        print(text, end="", flush=True)

流式请求中途断开后,不要不加判断地重复提交。业务里最好保存任务ID、请求时间和模型名称,避免同一任务被重复计费。

五、为什么选择OpenAI兼容接口

一个项目刚开始时,可能只使用Claude。后面加入GPT、Gemini或者DeepSeek以后,如果每家都使用不同SDK,配置和调用代码会变得比较散。

燃坤AI属于多模型聚合平台,提供OpenAI兼容接口。现有项目通常只要替换API Key、Base URL和模型名称,就可以在多个模型之间调整,不用把整个请求层重写一遍。

这类方式更适合个人开发者、中小团队,以及需要测试多个模型的项目。若公司要求直接与模型原厂签约,或者有单独的数据合规规定,还是要先走内部评估,适不适合看自己的实际使用要求。

六、常见错误怎么处理

401 Unauthorized

检查API Key是否完整,前后有没有多余空格。还要确认当前终端已经读取到RANKUN_API_KEY环境变量。

print(bool(os.environ.get("RANKUN_API_KEY")))
```![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/9a3512151c1e4ccab28718c9396de1d3.png#pic_center)


这里只打印环境变量是否存在,不要把完整Key打印到日志里。

404 Not Found

使用SDK时,Base URL写到`/v1`;使用curl时,请求路径要写成`/v1/chat/completions`。

429 Too Many Requests

429可能来自额度不足、并发限制或请求过快。不要立即开很多线程重试,可以按照1秒、2秒、4秒的间隔退避,并设置最大次数。

请求超时

短请求可以先设置30秒。长文本生成需要更长时间,最好同时记录首字返回时间和总耗时,便于判断问题出在网络连接还是内容生成。

模型不存在

模型ID必须与控制台一致。文章和旧代码中的模型名可能已经调整,不能长期写死后不再检查。


七、上线前检查

- API Key只保存在服务端,日志中需要脱敏。
- 设置超时、最大重试次数和并发限制。
- 记录模型、状态码、耗时和Token用量。
- 不在日志中保存用户敏感原文。
- 准备一个备用模型,主模型异常时可以降级。

第一次接入时,可以先运行curl,再运行Python。curl能成功,SDK报错时,排查范围会小很多。


常见问题

Q:Python调用Claude一定要安装Anthropic SDK吗?

A:不一定。使用OpenAI兼容接口时,可以直接使用OpenAI SDK,主要修改API Key、Base URL和模型名称。

Q:能不能在网页前端直接写API Key?

A:不建议。前端代码和网络请求容易暴露Key,应该由自己的服务端保存并调用。

Q:模型价格在哪里确认?

A:在燃坤AI模型价格页查看当前模型、分组倍率和价格,调用前以页面实时信息为准。

Q:文章中的模型名称一直有效吗?

A:不能保证。本文模型名用于演示,线上项目应通过配置文件管理,并定期核对可用模型列表。

Logo

汇聚全球AI编程工具,助力开发者即刻编程。

更多推荐