API开发者工具
Claude API 快速入门:10 分钟接入你的第一个 AI 功能
面向开发者的 Claude API 入门教程,包括 API Key 申请、Python/Node.js 接入示例、常用参数说明、费用控制,以及提示词缓存等进阶技巧。
· 阅读约 8 分钟
Claude API 让你可以把 Claude 的能力嵌入到自己的产品、脚本或工作流中。本文从零开始,帮你快速跑通第一个请求。
第一步:获取 API Key
- 访问 console.anthropic.com
- 注册/登录账号
- 左侧菜单 → API Keys → Create Key
- 复制 Key,妥善保管(只显示一次)
注意: API 独立计费,和 claude.ai 的 Pro 订阅是分开的。新账号会有免费额度。
Python 接入
安装 SDK:
pip install anthropic
最简单的调用:
import anthropic
client = anthropic.Anthropic(api_key="your-api-key")
message = client.messages.create(
model="claude-sonnet-4-6",
max_tokens=1024,
messages=[
{"role": "user", "content": "用一句话解释什么是机器学习"}
]
)
print(message.content[0].text)
加上系统提示词(System Prompt):
message = client.messages.create(
model="claude-sonnet-4-6",
max_tokens=1024,
system="你是一位专业的中文写作助手,回答简洁清晰,不说废话。",
messages=[
{"role": "user", "content": "帮我改写这段话,让它更有冲击力:[原文]"}
]
)
多轮对话:
messages = []
# 第一轮
messages.append({"role": "user", "content": "我想写一篇关于咖啡的文章"})
response = client.messages.create(
model="claude-sonnet-4-6",
max_tokens=512,
messages=messages
)
assistant_reply = response.content[0].text
messages.append({"role": "assistant", "content": assistant_reply})
# 第二轮
messages.append({"role": "user", "content": "把第一个方向展开写,要有具体数据"})
response = client.messages.create(
model="claude-sonnet-4-6",
max_tokens=1024,
messages=messages
)
print(response.content[0].text)
Node.js 接入
安装 SDK:
npm install @anthropic-ai/sdk
基础调用:
import Anthropic from '@anthropic-ai/sdk';
const client = new Anthropic({ apiKey: 'your-api-key' });
const message = await client.messages.create({
model: 'claude-sonnet-4-6',
max_tokens: 1024,
messages: [
{ role: 'user', content: '用一句话解释什么是机器学习' }
]
});
console.log(message.content[0].text);
流式输出(打字机效果):
const stream = await client.messages.stream({
model: 'claude-sonnet-4-6',
max_tokens: 1024,
messages: [{ role: 'user', content: '写一首关于春天的短诗' }]
});
for await (const chunk of stream) {
if (chunk.type === 'content_block_delta') {
process.stdout.write(chunk.delta.text);
}
}
常用参数说明
client.messages.create(
model="claude-sonnet-4-6", # 模型选择
max_tokens=1024, # 最大输出 token 数
temperature=0.7, # 创意度 0-1,越高越随机
system="...", # 系统提示词
messages=[...] # 对话历史
)
模型选择指南:
| 模型 | 适用场景 | 价格 |
|---|---|---|
| claude-opus-4-7 | 复杂推理、高质量输出 | 最贵 |
| claude-sonnet-4-6 | 日常任务,最佳性价比 | 中等 |
| claude-haiku-4-5 | 简单分类、高并发 | 最便宜 |
费用控制
API 按 token 计费:
- 输入 token:你发送的文字
- 输出 token:Claude 回复的文字
- 1000 个汉字 ≈ 1500-2000 tokens
省钱技巧:
# 1. 设置合理的 max_tokens,不要设太大
max_tokens=512 # 简单问答
max_tokens=2048 # 长文本生成
# 2. 用更便宜的模型处理简单任务
model="claude-haiku-4-5-20251001" # 分类、判断、简单提取
# 3. 提示词缓存(高级,见下方)
提示词缓存(Prompt Caching)
如果你的 System Prompt 很长(比如一份详细的产品说明书),每次请求都会重复计费。开启缓存后,重复的部分只计算一次:
message = client.messages.create(
model="claude-sonnet-4-6",
max_tokens=1024,
system=[
{
"type": "text",
"text": "这里放你很长的系统提示词...",
"cache_control": {"type": "ephemeral"} # 开启缓存
}
],
messages=[{"role": "user", "content": "用户的问题"}]
)
缓存有效期 5 分钟,重复调用时输入费用降低约 90%。高频应用非常划算。
错误处理
import anthropic
from anthropic import APIConnectionError, RateLimitError, APIStatusError
try:
response = client.messages.create(...)
except RateLimitError:
print("请求频率超限,稍后重试")
except APIConnectionError:
print("网络连接问题")
except APIStatusError as e:
print(f"API 错误:{e.status_code} - {e.message}")
实用场景示例
批量处理文本:
texts = ["文本1", "文本2", "文本3"]
results = []
for text in texts:
response = client.messages.create(
model="claude-haiku-4-5-20251001",
max_tokens=100,
messages=[{
"role": "user",
"content": f"判断下面这段评论是正面还是负面,只回答'正面'或'负面':\n{text}"
}]
)
results.append(response.content[0].text.strip())
print(results)
定时生成内容:
# 结合 schedule 库,每天自动生成一篇文章摘要
import schedule, time
def generate_daily_summary():
response = client.messages.create(
model="claude-sonnet-4-6",
max_tokens=500,
messages=[{"role": "user", "content": "帮我生成今日 AI 行业动态摘要"}]
)
print(response.content[0].text)
schedule.every().day.at("09:00").do(generate_daily_summary)
while True:
schedule.run_pending()
time.sleep(60)