Claude API 基础用法 (Messages API)
Anthropic 的 Messages API 是与 Claude 进行交互的主要方式。它采用了类似对话的结构,清晰地分离了系统指令、用户输入和模型回复。
#1. 快速入门代码 (Python)
首先,安装官方 SDK:
bashpip install anthropic
基础调用示例:
pythonimport 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: 可以是user或assistant。content: 文本内容或多模态内容列表。
max_tokens:限制生成的最大长度。temperature:控制随机性。0 为最稳定(适合代码/逻辑),1 为最随机(适合创意写作)。
#3. 流式响应 (Streaming)
对于交互式应用,流式输出能显著提升用户感知速度。
pythonwith 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 数组,将之前的对话历史不断添加进去。
pythonmessages = [ {"role": "user", "content": "你好,我是小明。"}, {"role": "assistant", "content": "你好小明!很高兴见到你。"}, {"role": "user", "content": "我刚才说我叫什么名字?"} ]
#5. 最佳实践:使用 XML 标签
Claude 经过专门训练,能够理解 XML 标签来组织输入。这在处理复杂指令时非常有效:
pythonsystem_prompt = """ 请提取下面 <document> 中的关键信息。 并将结果按照 <format> 要求的格式输出。 <format> - 日期 - 地点 - 主要结论 </format> """
下一步:探索 Claude 的 视觉能力,了解如何让 AI 理解图片。