2024 年 Anthropic 发布了 Claude3,据官方测试比 GPT-4 更好,一夜之间爆火,引得不少开发者体验,本文参考Claude 3官方API,梳理了从零开始调用ClaudeAPI的操作方法。
Claude 是Anthropic 的LLM 应用程序(类似于 ChatGPT)。该库允许使用 API(免费)并在Python 项目中与之交互。
一、必要条件
- 你需要有Claude 的API Key
- 你需要有访问Claude 的网络条件
本文的 API Key 已做删减处理,无法直接调用,会在文末附上完整的API Key,更多 Claude API Key,可访问链接获取
二、操作步骤
1. 安装Anthropic 库
此处以Pycharm为例,点击命令行,输入 pip install anthropic
如安装不畅,可考虑使用其他 pip 镜像。
2. 运行 Hello Word
安装完成后,即可初体验 Claude 3模型,请输入以下代码:
import anthropic
client = anthropic.Anthropic(
# defaults to os.environ.get("ANTHROPIC_API_KEY")
api_key="sk-ant-api03-mrmRzF-1x397AtlRNiur-PEQ7TlpAf3HxY4YQXeyvfB1p642QIAiMYN4Qwv98mKPCJOhA-ZvoYKgAA",
)
message = client.messages.create(
model="claude-3-opus-20240229",
max_tokens=1024,
messages=[
{"role": "user", "content": "Hello, Claude"}
]
)
print(message.content)
这段代码做了以下工作:
-
导入了anthropic库,这为与Claude API交互提供了一种方便的方式。
-
创建Anthropic客户端的一个实例,传入我们的API密钥。
-
调用messages.create()方法向Claude发送消息。我们指定要使用的模型(claude-3-opus-20240229)、响应中的最大令牌数(max_tokens=1000)、温度(控制输出的随机性,温度=0.0表示最小随机性)和系统消息(设置对话的上下文)。
-
最后,我们打印Claude的回复。
如果没有问题,Pycharm预计将输出Claude的响应:
至此,我们就完成了最基础的API调用。
3.异步请求
异步相对于入门版本,有一个区别是调用AsyncAnthropic,代码如下:
import os
import asyncio
from anthropic import AsyncAnthropic
client = AsyncAnthropic(
# This is the default and can be omitted
api_key=os.environ.get("ANTHROPIC_API_KEY"),
)
async def main() -> None:
message = await client.messages.create(
max_tokens=1024,
messages=[
{
"role": "user",
"content": "Hello, Claude",
}
],
model="claude-3-opus-20240229",
)
print(message.content)
asyncio.run(main())
同步和异步客户端之间的功能在其他方面是相同的。
4.流式响应
Claude 支持流式响应,在一些回复内容较多的场景下,流式响应能带来更好的用户体验,代码如下:
import anthropic
client = anthropic.Anthropic(api_key="sk-ant-api03-mrmRzF-1x397CNogZNU5mHUoI60n3AtlRNiur-ZvoYKgAA")
stream = client.messages.create(
max_tokens=1024,
messages=[
{
"role": "user",
"content": "Hello, Claude",
}
],
model="claude-3-opus-20240229",
stream=True,
)
for event in stream:
print(event)
控制台输出:
三、API Key
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
更多 Claude API Key,可访问链接获取