logo

Claude API 基础用法 (Messages API)

Anthropic 的 Messages API 是与 Claude 进行交互的主要方式。它采用了类似对话的结构,清晰地分离了系统指令、用户输入和模型回复。

把 Messages API 想成“和 AI 的会议纪要系统”:
system 定规则,user 提需求,assistant 给产出。
谁说了什么都要留痕,后续才能复盘、调优、降本。

1. 快速入门代码 (Python)

首先,安装官方 SDK:

pip install anthropic

基础调用示例:

import anthropic

client = anthropic.Anthropic(
    api_key="your_api_key_here",
)

message = client.messages.create(
    model="claude-3-5-sonnet-20240620",
    max_tokens=1024,
    system="你是一位资深的软件架构师。", # 系统指令
    messages=[
        {"role": "user", "content": "如何设计一个支持千万级用户的消息系统?"}
    ]
)

print(message.content[0].text)

2. API 核心参数说明

  • model:指定使用的模型名称。
  • system:系统提示词(System Prompt)。在这里定义 Claude 的角色、规则和约束。
  • messages:对话历史。
    • role: 可以是 userassistant
    • content: 文本内容或多模态内容列表。
  • max_tokens:限制生成的最大长度。
  • temperature:控制随机性。0 为最稳定(适合代码/逻辑),1 为最随机(适合创意写作)。

读者导向:建议阅读顺序

  1. 先跑“快速入门代码”,确认连通性与模型响应。
  2. 再看“核心参数”,建立稳定输出的基础控制面板。
  3. 最后看“流式响应 + 多轮管理”,进入产品化场景。

3. 流式响应 (Streaming)

对于交互式应用,流式输出能显著提升用户感知速度。

with client.messages.stream(
    model="claude-3-5-sonnet-20240620",
    max_tokens=1024,
    messages=[{"role": "user", "content": "写一篇关于未来 AI 发展的短文。"}]
) as stream:
    for text in stream.text_stream:
        print(text, end="", flush=True)

4. 多轮对话管理

在进行多轮对话时,你需要手动维护 messages 数组,将之前的对话历史不断添加进去。

messages = [
    {"role": "user", "content": "你好,我是小明。"},
    {"role": "assistant", "content": "你好小明!很高兴见到你。"},
    {"role": "user", "content": "我刚才说我叫什么名字?"}
]

常见坑

  • 只追加用户消息,不追加 assistant 回复,导致上下文断裂
  • system 指令写得太宽泛,输出风格飘忽不定
  • 没有做 token 预算,长会话成本失控

一句轻松版:
对话上下文像接力棒,丢一棒就会“剧情穿帮”。

5. 最佳实践:使用 XML 标签

Claude 经过专门训练,能够理解 XML 标签来组织输入。这在处理复杂指令时非常有效:

system_prompt = """
请提取下面 <document> 中的关键信息。
并将结果按照 <format> 要求的格式输出。

<format>
- 日期
- 地点
- 主要结论
</format>
"""

下一步:探索 Claude 的 视觉能力,了解如何让 AI 理解图片。

Claude API 开发指南
AI Engineer

Claude API 开发指南

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

Claude API 开发指南基础用法

Claude API 基础用法 (Messages API)

Anthropic 的 Messages API 是与 Claude 进行交互的主要方式。它采用了类似对话的结构,清晰地分离了系统指令、用户输入和模型回复。

把 Messages API 想成“和 AI 的会议纪要系统”:
system 定规则,user 提需求,assistant 给产出。
谁说了什么都要留痕,后续才能复盘、调优、降本。

#1. 快速入门代码 (Python)

首先,安装官方 SDK:

bash
pip install anthropic

基础调用示例:

python
import anthropic client = anthropic.Anthropic( api_key="your_api_key_here", ) message = client.messages.create( model="claude-3-5-sonnet-20240620", max_tokens=1024, system="你是一位资深的软件架构师。", # 系统指令 messages=[ {"role": "user", "content": "如何设计一个支持千万级用户的消息系统?"} ] ) print(message.content[0].text)

#2. API 核心参数说明

  • model:指定使用的模型名称。
  • system:系统提示词(System Prompt)。在这里定义 Claude 的角色、规则和约束。
  • messages:对话历史。
    • role: 可以是 userassistant
    • content: 文本内容或多模态内容列表。
  • max_tokens:限制生成的最大长度。
  • temperature:控制随机性。0 为最稳定(适合代码/逻辑),1 为最随机(适合创意写作)。

#读者导向:建议阅读顺序

  1. 先跑“快速入门代码”,确认连通性与模型响应。
  2. 再看“核心参数”,建立稳定输出的基础控制面板。
  3. 最后看“流式响应 + 多轮管理”,进入产品化场景。

#3. 流式响应 (Streaming)

对于交互式应用,流式输出能显著提升用户感知速度。

python
with client.messages.stream( model="claude-3-5-sonnet-20240620", max_tokens=1024, messages=[{"role": "user", "content": "写一篇关于未来 AI 发展的短文。"}] ) as stream: for text in stream.text_stream: print(text, end="", flush=True)

#4. 多轮对话管理

在进行多轮对话时,你需要手动维护 messages 数组,将之前的对话历史不断添加进去。

python
messages = [ {"role": "user", "content": "你好,我是小明。"}, {"role": "assistant", "content": "你好小明!很高兴见到你。"}, {"role": "user", "content": "我刚才说我叫什么名字?"} ]

#常见坑

  • 只追加用户消息,不追加 assistant 回复,导致上下文断裂
  • system 指令写得太宽泛,输出风格飘忽不定
  • 没有做 token 预算,长会话成本失控

一句轻松版:
对话上下文像接力棒,丢一棒就会“剧情穿帮”。

#5. 最佳实践:使用 XML 标签

Claude 经过专门训练,能够理解 XML 标签来组织输入。这在处理复杂指令时非常有效:

python
system_prompt = """ 请提取下面 <document> 中的关键信息。 并将结果按照 <format> 要求的格式输出。 <format> - 日期 - 地点 - 主要结论 </format> """

下一步:探索 Claude 的 视觉能力,了解如何让 AI 理解图片。

System Design

系统设计必备:核心概念 + 经典案例

快速掌握取舍与设计套路,备战系统设计面试。

进入 System Design →

相关路线图