logo
Claude API 开发指南
AI Engineer

Claude API 开发指南

Anthropic Claude API 提供了强大的 AI 模型访问,以安全性和准确性著称,适合企业级应用。

Claude API 开发指南API 简介

Claude API 简介(v4.5)

本文已同步到 Anthropic 2025-11 SDK 0.75 变更(新增 Claude Opus 4.5,并延续 Sonnet 4.5 系列,价格仍为 $15/$75 与 $3/$15),并覆盖 2025-02 的 Claude 3.7 Sonnet 与 2024-10 的 3.5 Haiku。Claude API 提供强大的模型与安全护栏,适合企业级 AI 应用。

#为什么使用 Claude API?

#1. 出色的代码能力

Claude 在编程任务上的优势:

  • 代码生成准确率高
  • 理解复杂代码逻辑
  • 较少的"幻觉"问题
  • 支持多种编程语言

#2. 超长上下文

模型上下文长度
Claude 4.5 Opus200K tokens
Claude 4.5 Sonnet200K tokens
Claude 3.7 Sonnet200K tokens
Claude 3.5 Haiku200K tokens

200K tokens ≈ 15 万字,可一次处理大型代码库/长文档。

#3. 安全可靠

  • Constitutional AI 技术
  • 较少有害输出
  • 企业级安全认证
  • 数据隐私保护

#4.5 版本要点

  • 新模型:Claude 4.5 系列(Opus 4.5、Sonnet 4.5,2025-11 SDK 0.75 发布)——官方宣布为下一代编码/推理模型,仍支持 200K tokens,价格与 3 代保持一致(Opus 4.5 输入 $15/M 输出 $75/M,Sonnet 4.5 输入 $3/M 输出 $15/M)。
  • 升级模型:Claude 3.7 Sonnet(2025-02)——在 3.5 基础上提升代码与推理稳定性。
  • 轻量高性价比:Claude 3.5 Haiku(2024-10)——超快响应,适合实时交互与批量低成本场景。
  • 扩展能力(官方发布):Extended thinking + Tool Use(可在长思考中交替调用工具)、多工具并行、改进指令跟随;API 侧新增代码执行工具、MCP 连接器、Files API、最长 1 小时的 Prompt Cache。
  • 模型 ID 对照:API 参数仍使用 claude-4-opus-20250514 / claude-4-sonnet-20250514,对应官方命名的 Opus 4.5 / Sonnet 4.5。

#模型选择

模型特点适用场景价格
Claude 4.5 Opus最强推理/长任务,长时间连续工作复杂重构、数据/代码长链路 Agent输入 $15/M,输出 $75/M
Claude 4.5 Sonnet性能/效率平衡,新版指令跟随更稳通用开发、问答、业务流程编排输入 $3/M,输出 $15/M
Claude 3.7 Sonnet稳定的代码与推理表现后台批处理、工具调用同 Sonnet 3.5 定价
Claude 3.5 Haiku最快响应,低成本聊天、实时产品内嵌、批量摘要输入 $1/M,输出 $5/M

#快速开始

#1. 获取 API Key

  1. 注册 Anthropic 账号
  2. 进入 API Keys 页面
  3. 创建新的 API Key

#2. 安装 SDK

Python:

bash
pip install anthropic

Node.js:

bash
npm install @anthropic-ai/sdk

#3. 第一次调用

Python:

python
import anthropic client = anthropic.Anthropic(api_key="your-api-key") message = client.messages.create( model="claude-4-sonnet-20250514", # 对应 Claude 4.5 Sonnet;或 claude-4-opus-20250514 (Claude 4.5 Opus) max_tokens=1024, messages=[ {"role": "user", "content": "用 Python 写一个快速排序算法"} ] ) print(message.content[0].text)

Node.js:

typescript
import Anthropic from '@anthropic-ai/sdk'; const anthropic = new Anthropic({ apiKey: process.env.ANTHROPIC_API_KEY, }); async function main() { const message = await anthropic.messages.create({ model: 'claude-4-sonnet-20250514', // Claude 4.5 Sonnet;或 claude-4-opus-20250514 max_tokens: 1024, messages: [ { role: 'user', content: '用 TypeScript 写一个快速排序算法' }, ], }); console.log(message.content[0].text); } main();

#核心 API

#Messages API

主要的对话接口:

python
message = client.messages.create( model="claude-4-sonnet-20250514", # Claude 4.5 Sonnet max_tokens=1024, system="你是一个专业的代码审查专家", messages=[ {"role": "user", "content": "审查这段代码..."}, {"role": "assistant", "content": "我来帮你审查..."}, {"role": "user", "content": "还有其他问题吗?"} ] )

#流式输出

实时返回生成内容:

python
with client.messages.stream( model="claude-4-sonnet-20250514", # Claude 4.5 Sonnet max_tokens=1024, messages=[{"role": "user", "content": "写一篇文章"}] ) as stream: for text in stream.text_stream: print(text, end="", flush=True)

#Tool Use (函数调用)

让 Claude 调用自定义工具:

python
tools = [ { "name": "get_weather", "description": "获取指定城市的天气信息", "input_schema": { "type": "object", "properties": { "city": { "type": "string", "description": "城市名称" } }, "required": ["city"] } } ] message = client.messages.create( model="claude-4-sonnet-20250514", # Claude 4.5 Sonnet max_tokens=1024, tools=tools, messages=[{"role": "user", "content": "北京天气怎么样?"}] ) # Claude 会返回 tool_use 请求 for block in message.content: if block.type == "tool_use": print(f"调用工具: {block.name}") print(f"参数: {block.input}")

#Vision (图像理解)

Claude 可以理解图像:

python
import base64 with open("image.png", "rb") as f: image_data = base64.standard_b64encode(f.read()).decode() message = client.messages.create( model="claude-4-sonnet-20250514", # Claude 4.5 Sonnet max_tokens=1024, messages=[ { "role": "user", "content": [ { "type": "image", "source": { "type": "base64", "media_type": "image/png", "data": image_data } }, {"type": "text", "text": "描述这张图片"} ] } ] )

#高级功能

#Prompt Caching

缓存常用提示,节省成本:

python
message = client.messages.create( model="claude-4-sonnet-20250514", max_tokens=1024, system=[ { "type": "text", "text": "你是一个代码专家...(很长的系统提示)", "cache_control": {"type": "ephemeral"} } ], messages=[{"role": "user", "content": "问题"}] )

#Batch API

批量处理请求:

python
batch = client.batches.create( requests=[ {"custom_id": "1", "params": {...}}, {"custom_id": "2", "params": {...}}, ] )

#API 定价

模型输入输出
Claude 4.5 Opus$15/M tokens$75/M tokens
Claude 4.5 Sonnet$3/M tokens$15/M tokens
Claude 3.7 Sonnet同上同上
Claude 3.5 Haiku$1/M tokens$5/M tokens

#最佳实践

#1. 使用系统提示

python
message = client.messages.create( model="claude-3-5-sonnet-20241022", system="""你是一个 Python 专家。 - 使用类型提示 - 添加 docstring - 遵循 PEP 8 规范 """, messages=[...] )

#2. 错误处理

python
import anthropic try: message = client.messages.create(...) except anthropic.RateLimitError: print("达到速率限制,请稍后重试") except anthropic.APIError as e: print(f"API 错误: {e}")

#3. Token 管理

python
# 检查响应的 token 使用 print(f"输入 tokens: {message.usage.input_tokens}") print(f"输出 tokens: {message.usage.output_tokens}")

#下一步


提示:Claude API 持续更新,查看 官方文档 获取最新信息。

相关路线图

1v1免费职业咨询