Claude API调用教程:新手从零开始入门(2026完整版)

分类:技术交流发布时间:建议阅读时长:21 分钟
作者:sodope llm

一、什么是 Claude API?

Claude 是由 Anthropic 公司开发的 AI 大语言模型,能够完成对话、写作、代码生成、数据分析等多种任务。Claude API 允许开发者通过编程方式调用这些能力,将 AI 集成到自己的应用中。

与直接使用 Claude 网页版不同,通过 API 调用可以:

  • 将 AI 能力集成到你的产品或工具中
  • 批量处理大量文本任务
  • 自定义系统提示词,控制模型行为
  • 实现流式输出等高级功能

二、前期准备

2.1 获取 API Key

调用 Claude API 需要一个有效的 API Key。国内开发者有两种方式获取:

方式一:注册 Anthropic 官方账号

  • 需要境外手机号验证
  • 需要境外支付方式充值
  • 网络访问需要代理

方式二:使用国内 API 中转平台(推荐)

对于国内开发者,更推荐通过 jiekou.ai 这类中转平台获取 API Key:

  • 国内直连,无需翻墙
  • 支持支付宝/微信充值
  • 兼容 Anthropic SDK 接口格式

访问 https://jiekou.ai,注册账号后在控制台新建 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="https://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="https://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 列表格式,确保每个元素包含 rolecontent 字段。

六、加入错误处理的完整示例

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="https://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 Sonnetclaude-3-7-sonnet-20250219最新旗舰,支持扩展思考
Claude 3.5 Sonnetclaude-3-5-sonnet-20241022综合能力强,代码优秀
Claude 3.5 Haikuclaude-3-5-haiku-20241022速度快,成本低
Claude 3 Opusclaude-3-opus-20240229精度最高,成本也最高

结语

Claude API 的调用流程并不复杂:安装 SDK → 获取 API Key → 修改 base_url → 发起调用,整个过程只需几分钟。

对于国内开发者,通过 jiekou.ai 中转平台可以省去翻墙和境外支付的麻烦,直接接入 Claude 全系模型。按量计费,没有隐藏费用,适合从测试到生产的各个阶段。

如果在接入过程中遇到问题,欢迎参考本文的常见报错章节,大多数问题都有明确的解决方案。


分享:
联系我们