欢迎回来

登录 EAKE AI,继续您的智能之旅

忘记密码?
还没有账号?立即注册
Anthropic

Anthropic Claude SDK 使用指南

概述

Anthropic Claude SDK for Python提供从Python应用程序访问Claude API的能力。

安装

pip install anthropic

快速开始

import os
from anthropic import Anthropic

client = Anthropic(
    api_key=os.environ.get("ANTHROPIC_API_KEY")
)

message = client.messages.create(
    max_tokens=1024,
    messages=[
        {
            "role": "user",
            "content": "Hello, Claude"
        }
    ],
    model="claude-opus-4-6",
)
print(message.content)

重要参数

模型选择

模型描述适合场景
claude-opus-4-6最强性能复杂推理
claude-sonnet-4-6平衡日常任务
claude-haiku-3-5最快简单任务

max_tokens

生成的最大token数。设置较大值可获得更长输出:

message = client.messages.create(
    max_tokens=4096,
    messages=[...],
    model="claude-opus-4-6"
)

系统提示词

message = client.messages.create(
    max_tokens=1024,
    system="你是一个专业的AI助手,擅长技术写作",
    messages=[
        {"role": "user", "content": "解释什么是机器学习"}
    ],
    model="claude-opus-4-6"
)

图像输入(Claude 3.5+)

message = client.messages.create(
    max_tokens=1024,
    messages=[
        {
            "role": "user",
            "content": [
                {"type": "image", "source": {"type": "base64", "media_type": "image/jpeg", "data": "..."}},
                {"type": "text", "text": "这张图片里有什么?"}
            ]
        }
    ],
    model="claude-opus-4-6"
)

流式响应

with client.messages.stream(
    max_tokens=1024,
    messages=[{"role": "user", "content": "写一个故事"}],
    model="claude-sonnet-4-6"
) as stream:
    for text in stream.text_deltas:
        print(text, end="")

工具使用(Function Calling)

from anthropic import Anthropic

client = Anthropic()

tools = [
    {
        "name": "get_weather",
        "description": "获取指定城市的天气",
        "input_schema": {
            "type": "object",
            "properties": {
                "city": {"type": "string", "description": "城市名称"}
            },
            "required": ["city"]
        }
    }
]

message = client.messages.create(
    max_tokens=1024,
    tools=tools,
    messages=[
        {"role": "user", "content": "北京天气怎么样?"}
    ],
    model="claude-opus-4-6"
)

if message.stop_reason == "tool_use":
    tool_call = message.tool_calls[0]
    if tool_call.name == "get_weather":
        result = get_weather(tool_call.input["city"])

Thinking模式

Claude 4.0+支持思考过程:

message = client.messages.create(
    max_tokens=4096,
    thinking={"type": "enabled", "budget_tokens": 4096},
    messages=[{"role": "user", "content": "计算123*456"}],
    model="claude-opus-4-6"
)

print(message.thinking)
print(message.content)

错误处理

from anthropic import Anthropic, RateLimitError, APIStatusError

client = Anthropic()

try:
    message = client.messages.create(...)
except RateLimitError:
    print("速率超限")
except APIStatusError as e:
    print(f"API错误: {e.status_code} - {e.message}")

Python版本要求

Python 3.9+

相关链接

Anthropic

Claude API 实战:工具调用与多模态能力

Claude API 工具调用

Anthropic Claude API 支持工具调用(Tool Use),允许模型在对话中调用预定义的外部函数,实现与真实世界的交互。这是构建 AI Agent 的核心能力。

定义工具

import anthropic

client = anthropic.Anthropic()

tools = [{
    "name": "get_stock_price",
    "description": "获取指定股票的当前价格",
    "input_schema": {
        "type": "object",
        "properties": {
            "symbol": {
                "type": "string",
                "description": "股票代码,如 AAPL"
            }
        },
        "required": ["symbol"]
    }
}]

response = client.messages.create(
    model="claude-sonnet-4-20250514",
    max_tokens=1024,
    tools=tools,
    messages=[{
        "role": "user",
        "content": "苹果公司股票现在多少钱?"
    }]
)

# 检查模型是否请求调用工具
if response.stop_reason == "tool_use":
    for block in response.content:
        if block.type == "tool_use":
            print(f"调用工具: {block.name}")
            print(f"参数: {block.input}")

多轮工具调用

# 将工具结果返回给模型继续对话
tool_result_message = {
    "role": "user",
    "content": [{
        "type": "tool_result",
        "tool_use_id": block.id,
        "content": f"{{'price': 198.50, 'change': '+2.3%'}}"
    }]
}

# 继续对话
response2 = client.messages.create(
    model="claude-sonnet-4-20250514",
    max_tokens=1024,
    tools=tools,
    messages=[
        {"role": "user", "content": "苹果公司股票现在多少钱?"},
        response.content[0],  # 模型的工具调用
        tool_result_message
    ]
)

多模态:图像理解

import base64

# 方式1:base64编码
with open("image.png", "rb") as f:
    image_data = base64.standard_b64encode(f.read()).decode("utf-8")

response = client.messages.create(
    model="claude-sonnet-4-20250514",
    max_tokens=1024,
    messages=[{
        "role": "user",
        "content": [
            {
                "type": "image",
                "source": {
                    "type": "base64",
                    "media_type": "image/png",
                    "data": image_data
                }
            },
            {
                "type": "text",
                "text": "描述这张图片的内容"
            }
        ]
    }]
)

# 方式2:URL引用
response = client.messages.create(
    model="claude-sonnet-4-20250514",
    max_tokens=1024,
    messages=[{
        "role": "user",
        "content": [
            {
                "type": "image",
                "source": {
                    "type": "url",
                    "url": "https://example.com/photo.jpg"
                }
            },
            {"type": "text", "text": "分析这张图表"}
        ]
    }]
)

PDF 文档处理

with open("document.pdf", "rb") as f:
    pdf_data = base64.standard_b64encode(f.read()).decode("utf-8")

response = client.messages.create(
    model="claude-sonnet-4-20250514",
    max_tokens=4096,
    messages=[{
        "role": "user",
        "content": [
            {
                "type": "document",
                "source": {
                    "type": "base64",
                    "media_type": "application/pdf",
                    "data": pdf_data
                }
            },
            {"type": "text", "text": "总结这个PDF的关键要点"}
        ]
    }]
)

模型选择

模型上下文适用场景
Claude Opus 4200K最复杂任务,最强推理
Claude Sonnet 4200K通用最佳,性价比高
Claude Haiku 3.5200K快速响应,低成本
Anthropic

Claude 提示工程最佳实践

Claude 提示工程原则

Anthropic 在其官方文档中提出了系统化的提示工程方法论,核心原则是"清晰、具体、提供示例"。Claude 对结构化指令的响应尤其出色。

1. 系统提示词(System Prompt)

系统提示词是塑造 Claude 行为的最强力工具。推荐结构:

你是一个{角色},专门负责{任务描述}。

## 你的职责
- {职责1}
- {职责2}

## 回答规范
- 使用{格式}输出
- 语气{描述}
- 如不确定,明确说明

## 限制
- 不做{X}
- 不回答{Y}

2. XML 标签结构化

Claude 对 XML 标签有特殊的理解能力,用标签分隔不同类型的内容:

请根据以下信息回答问题:


{长文档内容}



1. 只基于文档内容回答
2. 引用时标注段落号
3. 不确定时回答"文档中未提及"



{用户问题}

3. Few-Shot 示例

提供输入-输出对让 Claude 学习期望的格式:

将用户反馈分类为正面/负面/中性:


产品很好用,推荐!
正面



物流太慢了
负面



收到货了
中性


现在分类:
{新反馈}

4. 思维链(Chain of Thought)

引导 Claude 展示推理过程,显著提升复杂任务的准确率:

解决以下问题。请先在  标签中逐步分析,
然后在  标签中给出最终答案。


{问题描述}

5. 角色扮演

Claude 在角色扮演场景下表现尤为突出:

你是一位资深Python架构师,正在为团队进行代码审查。
请用专业但友善的语气指出代码中的问题,并给出改进建议。
对每个问题,按以下格式输出:
- **问题**:描述
- **严重程度**:高/中/低
- **建议**:修复方案
- **示例代码**:修正后的代码片段

6. 输出格式控制

JSON 输出

请以JSON格式输出分析结果,严格遵循以下schema:
{
  "summary": "string - 一句话总结",
  "sentiment": "positive|negative|neutral",
  "keywords": ["string"],
  "confidence": "0-1之间的数字"
}
只输出JSON,不要其他文字。

7. 长文档处理技巧

  • 分块处理:将长文档分段,逐段分析后汇总
  • 先摘要后回答:让 Claude 先生成摘要,再基于摘要回答
  • 关键词定位:指定关注的关键信息,忽略无关内容

8. 常见反模式

❌ 反模式✅ 正确做法
模糊的指令:"帮我写好点"具体要求:"用简洁的商务语气重写,200字以内"
一次要求太多拆分为多个步骤,逐步执行
不提供示例给出1-3个输入输出示例
忽略输出格式明确指定格式和长度
Anthropic

Claude Tool Use 实战

## Claude Tool Use 实战 ### 什么是Tool Use Anthropic的工具调用机制,与OpenAI Function Calling类似但有独特设计。 ### 基本用法 ```python from anthropic import Anthropic client = Anthropic() tools = [{ "name": "get_weather", "description": "获取城市天气", "input_schema": { "type": "object", "properties": { "city": {"type": "string", "description": "城市名称"} }, "required": ["city"] } }] response = client.messages.create( model="claude-3-7-sonnet-20250219", max_tokens=1024, messages=[{"role": "user", "content": "北京天气?"}], tools=tools ) ```
Anthropic

Claude Opus 4.7 升级详解

## Claude Opus 4.7 升级详解 ### 核心升级亮点 - **软件工程**:SWE-bench Pro 64.3%,复杂算法可独立完成(前代需人工监督) - **视觉能力**:375万像素图片输入,是前代3倍以上 - **指令遵循**:逐字级精准执行指令 - **记忆增强**:长时段任务间保持记忆 - **安全升级**:内置网络安全防护 ### 编程任务提升幅度 | 任务类型 | Opus 4.6 | Opus 4.7 | 提升 | |---------|----------|----------|------| | 复杂算法实现 | 需人工监督 | 可独立完成 | 40%+ | | 代码重构 | 基础重构 | 深度重构 | 35%+ | | Bug 修复 | 简单修复 | 复杂诊断 | 50%+ | | 架构设计 | 基础建议 | 完整方案 | 45%+ | ### Routines 自动化工作流 配置一次提示词,挂载代码仓库,接上 API 连接器,Claude 就能自动运行: - 定时触发 - API 触发 - GitHub 事件触发 ### /ultrareview 深度审查 Claude Code 新增 `/ultrareview` 命令,一条指令跑完整代码审查。 ### Claude Design 基于 Opus 4.7 的视觉创作工具,支持: - 对话生成设计和原型 - 品牌系统自动应用 - 多格式导入(图片、DOCX、PPTX) ### API 调用 ```python from anthropic import Anthropic client = Anthropic() response = client.messages.create( model="claude-opus-4-7", max_tokens=16384, thinking={"type": "enabled", "budget_tokens": 10000}, messages=[{"role": "user", "content": "重构这个微服务架构"}] ) ```
Anthropic

Claude 安全架构与 Mythos 模型

## Claude 安全架构与 Mythos 模型 ### Constitutional AI Anthropic 的核心安全架构: - 以宪法原则指导模型行为 - 自我纠正和拒绝有害请求 - 红队测试持续改进 ### Claude Mythos Preview 2026年4月7日,Anthropic 公布 Claude Mythos Preview: - 能力过于危险,不对公众开放 - 仅通过 Project Glasswing 项目限定提供 - 约40家机构获准用于防御性测试 获准机构包括:AWS、Apple、Cisco、Google、JPMorgan Chase、Microsoft、NVIDIA 等 ### Claude Opus 4.7 的"有意削弱" Anthropic 对 Opus 4.7 采取了安全优先的策略: - 限制了部分能力的发挥 - 确保模型在可控行为范围内 - 内置网络安全防护机制 ### 安全最佳实践 ```python from anthropic import Anthropic client = Anthropic() # 设置系统提示词约束行为 response = client.messages.create( model="claude-opus-4-7", system="你是一个安全的AI助手,拒绝执行任何可能有害的操作", messages=[{"role": "user", "content": "用户请求内容"}] ) ```