在这个示例中,我们将让 Claude 编写一个检查字符串是否为回文的 Python 函数。

前提条件

你需要:

Anthropic 提供了 Python 和 TypeScript SDK,当然你也可以直接向 API 发送 HTTP 请求。

从 Workbench 开始

无论你进行什么具体任务,任何 API 调用都会向 Anthropic API 发送一个配置完善的提示。在学习如何充分利用 Claude 的过程中,我们建议你从 Workbench(一个基于网络的 Claude 界面)开始开发过程。

登录 Anthropic Console 并点击 Workbench

在中间部分的 User 下,让我们向 Claude 提一个问题。

User
为什么海水是咸的?

点击 Run。在右侧,你会看到类似这样的输出:

Response
海水之所以咸,是由于以下几个因素:

1. 岩石风化:数百万年来,雨水、河流和溪流侵蚀含有矿物盐的岩石。这些盐分通过水流被带入海洋。
2. 火山活动:海底火山和热液喷口向海水中释放矿物质,包括盐分。
3. 大气沉降:海洋喷雾中的盐分颗粒可以被风携带并重新沉积到海洋中。
4. 蒸发:当水从海洋表面蒸发时,会留下溶解的盐分,增加剩余水中的盐分浓度。
5. 生物过程:一些海洋生物在代谢过程中会释放盐类化合物,从而影响海水的盐度。

随着时间推移,这些过程不断向海洋中添加盐分,而蒸发则带走纯水,导致了海洋目前的盐度水平。值得注意的是,海洋中的总盐量保持相对稳定,因为盐分的输入与通过蒸发沉积物形成等过程的盐分移除达到平衡。

这是一个不错的回答,但假设我们想要控制 Claude 给出的具体回答类型。例如,只允许 Claude 用诗歌回答问题。我们可以通过添加系统提示来控制回答的格式、语气和个性。

System prompt
你是一位世界级诗人。只能用简短的诗歌回答。

再次点击 Run

Response
浩瀚海洋咸味深,
岁月侵蚀写传奇。
岩石雨水缓缓溶,
矿物溶解入海心。
亿万年来盐不散,
永恒海域咸永存。

看到 Claude 的回答是如何改变的了吗?LLM 对清晰直接的指令反应良好。你可以将角色指令放在系统提示或用户消息中。我们建议进行测试,看看哪种方式能为你的用例带来最佳效果。

一旦你调整了输入并对输出感到满意——并且对如何使用 Claude 有了很好的认识——就可以将你的 Workbench 转换为集成应用。

点击 Get Code 复制代表你的 Workbench 会话的生成代码。

安装 SDK

Anthropic 为 Python (3.7+) 和 TypeScript (4.5+) 提供 SDK。

在你的项目目录中,创建一个虚拟环境。

Python
python -m venv claude-env

使用以下命令激活虚拟环境

  • 在 macOS 或 Linux 上,source claude-env/bin/activate
  • 在 Windows 上,claude-env\Scripts\activate
Python
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 密钥设置为环境变量,可以像下面这样省略该行。

claude_quickstart.py
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.pynode claude_quickstart.js 运行代码。

Response
[TextBlock(text="海洋咸涩浪花飞,\n时光流转有玄机。\n岩石河流献矿藏,\n积聚深处海床里。\n蒸发留下咸味浓,\n浩瀚之中永相依。", type='text')]
Workbench 和代码示例使用默认的模型设置:模型(名称)、温度和最大采样令牌数。

这个快速入门展示了如何使用 Console、Workbench 和 API 开发一个基本但功能完整的 Claude 驱动应用。你可以使用这个相同的工作流作为更强大用例的基础。

下一步

现在你已经完成了第一个 Anthropic API 请求,是时候探索更多可能性了: