初始设置
让我们学习如何使用 Anthropic API 来构建 Claude 应用
在这个示例中,我们将让 Claude 编写一个检查字符串是否为回文的 Python 函数。
前提条件
你需要:
- 一个 Anthropic Console 账户
- 一个 API 密钥
- Python 3.7+ 或 TypeScript 4.5+
Anthropic 提供了 Python 和 TypeScript SDK,当然你也可以直接向 API 发送 HTTP 请求。
从 Workbench 开始
无论你进行什么具体任务,任何 API 调用都会向 Anthropic API 发送一个配置完善的提示。在学习如何充分利用 Claude 的过程中,我们建议你从 Workbench(一个基于网络的 Claude 界面)开始开发过程。
登录 Anthropic Console 并点击 Workbench。
在中间部分的 User 下,让我们向 Claude 提一个问题。
为什么海水是咸的?
点击 Run。在右侧,你会看到类似这样的输出:
海水之所以咸,是由于以下几个因素:
1. 岩石风化:数百万年来,雨水、河流和溪流侵蚀含有矿物盐的岩石。这些盐分通过水流被带入海洋。
2. 火山活动:海底火山和热液喷口向海水中释放矿物质,包括盐分。
3. 大气沉降:海洋喷雾中的盐分颗粒可以被风携带并重新沉积到海洋中。
4. 蒸发:当水从海洋表面蒸发时,会留下溶解的盐分,增加剩余水中的盐分浓度。
5. 生物过程:一些海洋生物在代谢过程中会释放盐类化合物,从而影响海水的盐度。
随着时间推移,这些过程不断向海洋中添加盐分,而蒸发则带走纯水,导致了海洋目前的盐度水平。值得注意的是,海洋中的总盐量保持相对稳定,因为盐分的输入与通过蒸发沉积物形成等过程的盐分移除达到平衡。
这是一个不错的回答,但假设我们想要控制 Claude 给出的具体回答类型。例如,只允许 Claude 用诗歌回答问题。我们可以通过添加系统提示来控制回答的格式、语气和个性。
你是一位世界级诗人。只能用简短的诗歌回答。
再次点击 Run。
浩瀚海洋咸味深,
岁月侵蚀写传奇。
岩石雨水缓缓溶,
矿物溶解入海心。
亿万年来盐不散,
永恒海域咸永存。
看到 Claude 的回答是如何改变的了吗?LLM 对清晰直接的指令反应良好。你可以将角色指令放在系统提示或用户消息中。我们建议进行测试,看看哪种方式能为你的用例带来最佳效果。
一旦你调整了输入并对输出感到满意——并且对如何使用 Claude 有了很好的认识——就可以将你的 Workbench 转换为集成应用。
安装 SDK
Anthropic 为 Python (3.7+) 和 TypeScript (4.5+) 提供 SDK。
在你的项目目录中,创建一个虚拟环境。
python -m venv claude-env
使用以下命令激活虚拟环境
- 在 macOS 或 Linux 上,
source claude-env/bin/activate
- 在 Windows 上,
claude-env\Scripts\activate
pip install anthropic
设置你的 API 密钥
每个 API 调用都需要一个有效的 API 密钥。SDK 被设计为从环境变量 ANTHROPIC_API_KEY
中获取 API 密钥。你也可以在初始化 Anthropic 客户端时提供密钥。
export ANTHROPIC_API_KEY='your-api-key-here'
调用 API
通过向 /messages/create 端点传递适当的参数来调用 API。
注意,Workbench 提供的代码在构造函数中设置 API 密钥。如果你将 API 密钥设置为环境变量,可以像下面这样省略该行。
import anthropic
client = anthropic.Anthropic()
message = client.messages.create(
model="claude-3-5-sonnet-20241022",
max_tokens=1000,
temperature=0,
system="你是一位世界级诗人。只能用简短的诗歌回答。",
messages=[
{
"role": "user",
"content": [
{
"type": "text",
"text": "为什么海水是咸的?"
}
]
}
]
)
print(message.content)
使用 python3 claude_quickstart.py
或 node claude_quickstart.js
运行代码。
[TextBlock(text="海洋咸涩浪花飞,\n时光流转有玄机。\n岩石河流献矿藏,\n积聚深处海床里。\n蒸发留下咸味浓,\n浩瀚之中永相依。", type='text')]
这个快速入门展示了如何使用 Console、Workbench 和 API 开发一个基本但功能完整的 Claude 驱动应用。你可以使用这个相同的工作流作为更强大用例的基础。
下一步
现在你已经完成了第一个 Anthropic API 请求,是时候探索更多可能性了: