Claude API调用教程:新手从零开始入门(2026完整版)
一、什么是 Claude API?
Claude 是由 Anthropic 公司开发的 AI 大语言模型,能够完成对话、写作、 代码生成 、数据分析等多种任务。Claude API 允许开发者通过编程方式调用这些能力,将 AI 集成到自己的应用中。
与直接使用 Claude 网页版不同,通过 API 调用可以
- 将 AI 能力集成到你的产品或工具中
- 批量处理大量文本任务
- 自定义系统提示词,控制模型行为
- 实现流式输出等高级功能
二、前期准备
2.1 获取 API Key
调用 Claude API 需要一个有效的 API Key。国内开发者有两种方式获取:
方式一:注册 Anthropic 官方账号
- 需要境外手机号验证
- 需要境外支付方式充值
- 网络访问需要代理
方式二:使用国内 API 中转平台(推荐)
对于国内开发者,更推荐通过库拉c.kulaai.cn 这类中转平台获取 API Key:
- 国内直连,无需翻墙
- 支持支付宝/微信充值
- 兼容 Anthropic SDK 接口格式
访问c.kulaai.cn,注册账号后在控制台新建 API Key。
2.2 安装 Python 环境
确保你已安装 Python 3.8 或以上版本:
python --version # 确认版本
2.3 安装 SDK
pip install anthropic
如果你习惯使用 OpenAI SDK,也可以用 OpenAI 的兼容模式:
pip install openai
三、第一次调用 Claude API
3.1 最简单的调用示例
import anthropic # 初始化客户端 client = anthropic.Anthropic( api_key="your-api-key-here", # 替换为你的 API Key base_url="api.jiekou.ai" # 国内中转端点,无需翻墙 ) # 发送消息 message = client.messages.create( model="
claude-3-7-sonnet-20250219", # 使用 Claude 3.7 Sonnet max_tokens=1024, messages=[ {"role": "user", "content": "你好!请用一段话介绍一下你自己。"} ] ) # 打印回复 print(message.content[0].text)
运行后如果看到 Claude 的自我介绍,说明接入成功!
3.2 理解返回结果
API 返回的 message 对象包含以下重要字段:
print(message.id) # 消息唯一 ID print(message.model) # 实际使用的模型 print(message.content[0].text) # 回复文本内容 print(
message.usage.input_tokens) # 输入 token 数量 print(
message.usage.output_tokens) # 输出 token 数量
3.3 使用 OpenAI SDK 兼容模式
如果你的项目已使用 OpenAI SDK,可以通过以下方式调用 Claude:
from openai import OpenAI client = OpenAI( api_key="your-api-key-here", base_url="api.jiekou.ai/v1" ) response =
client.chat.completions.create( model="
claude-3-7-sonnet-20250219", messages=[ {"role": "user", "content": "你好!请用一段话介绍一下你自己。"} ] ) print(response.choices[0].message.content)
四、核心功能详解
4.1 添加 System Prompt
System Prompt 用于设定模型的角色和行为规范:
message = client.messages.create( model="
claude-3-7-sonnet-20250219", max_tokens=1024, system="你是一位专业的 Python 编程导师,擅长用简单易懂的方式解释复杂概念。回答时请使用中文,并配合代码示例。", messages=[ {"role": "user", "content": "什么是装饰器(decorator)?"} ] )
4.2 多轮对话
通过保留对话历史实现上下文连续的多轮对话:
conversation_history = [] def chat(user_message):
conversation_history.append({ "role": "user", "content": user_message }) response = client.messages.create( model="
claude-3-7-sonnet-20250219", max_tokens=1024, messages=conversation_history ) assistant_message = response.content[0].text
conversation_history.append({ "role": "assistant", "content": assistant_message }) return assistant_message # 多轮对话示例 print(chat("请介绍一下 Python 的列表推导式")) print(chat("能给我一个实际应用的例子吗?")) print(chat("和 for 循环相比,它有什么优劣势?"))
4.3 调整生成参数
message = client.messages.create( model="
claude-3-7-sonnet-20250219", max_tokens=2048, # 最大输出 token 数 temperature=0.7, # 创意度,0-1,越高越随机 top_p=0.9, # 核采样参数 messages=[ {"role": "user", "content": "写一首关于秋天的诗"} ] )
五、常见报错与解决方法
5.1 AuthenticationError(认证失败)
anthropic.AuthenticationError: Error code: 401
原因:API Key 不正确或已失效。 解决:检查 API Key 是否完整复制,是否过期,或重新生成。
5.2 ConnectionError(连接超时)
httpx.ConnectError: [Errno -2] Name or service not known
原因:无法访问 API 端点,通常是网络问题。 解决:如果使用官方端点,需要开启代理;推荐改用 jiekou.ai 中转服务,国内直连。
5.3 RateLimitError(频率超限)
anthropic.RateLimitError: Error code: 429
原因:请求频率超过账号限制。 解决:加入延迟重试逻辑,或升级账号套餐。
5.4 InvalidRequestError(请求格式错误)
anthropic.BadRequestError: Error code: 400
原因:请求参数格式不正确,例如 messages 格式有误。 解决:检查 messages 列表格式,确保每个元素包含 role 和 content 字段。
六、加入错误处理的完整示例
import anthropic import time def call_claude(prompt, system_prompt=None, max_retries=3): """ 调用 Claude API,包含错误处理和重试逻辑 Args: prompt: 用户输入 system_prompt: 系统提示词(可选) max_retries: 最大重试次数 Returns: 回复文本或 None """ client = anthropic.Anthropic( api_key="your-api-key-here", base_url="api.jiekou.ai" ) kwargs = { "model": "
claude-3-7-sonnet-20250219", "max_tokens": 1024, "messages": [{"role": "user", "content": prompt}] } if system_prompt: kwargs["system"] = system_prompt for attempt in range(max_retries): try: message = client.messages.create(**kwargs) return message.content[0].text except anthropic.RateLimitError: if attempt < max_retries - 1: wait_time = 2 ** attempt print(f"频率超限,{wait_time}秒后重试...") time.sleep(wait_time) else: print("达到最大重试次数,请求失败") raise except
anthropic.AuthenticationError: print("API Key 验证失败,请检查密钥") raise except Exception as e: print(f"请求出错:{e}") raise # 使用示例 result = call_claude( prompt="用 Python 写一个快速排序算法", system_prompt="你是一位经验丰富的算法工程师,用简洁高效的代码解决问题" ) print(result)
七、Claude API 支持的模型列表
通过 jiekou.ai 中转平台可以调用的 Claude 模型:
模型名称 | 模型 ID | 特点 |
Claude 3.7 Sonnet | claude-3-7-sonnet-20250219 | 最新旗舰,支持扩展思考 |
Claude 3.5 Sonnet | claude-3-5-sonnet-20241022 | 综合能力强,代码优秀 |
Claude 3.5 Haiku | claude-3-5-haiku-20241022 | 速度快,成本低 |
Claude 3 Opus | claude-3-opus-20240229 | 精度最高,成本也最高 |
结语
Claude API 的调用流程并不复杂:安装 SDK → 获取 API Key → 修改 base_url → 发起调用,整个过程只需几分钟。
对于国内开发者,通过库拉c.kulaai.cn 中转平台可以省去翻墙和境外支付的麻烦,直接接入 Claude 全系模型。按量计费,没有隐藏费用,适合从测试到生产的各个阶段。
如果在接入过程中遇到问题,欢迎参考本文的常见报错章节,大多数问题都有明确的解决方案。