【最新|送API Key】零基础调用Anthropic Claude 3 API接口(Python)

慈云数据 2024-05-13 技术支持 119 0

2024 年 Anthropic 发布了 Claude3,据官方测试比 GPT-4 更好,一夜之间爆火,引得不少开发者体验,本文参考Claude 3官方API,梳理了从零开始调用ClaudeAPI的操作方法。

Claude 是Anthropic 的LLM 应用程序(类似于 ChatGPT)。该库允许使用 API(免费)并在Python 项目中与之交互。

一、必要条件

  1. 你需要有Claude 的API Key
  2. 你需要有访问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)

这段代码做了以下工作:

  1. 导入了anthropic库,这为与Claude API交互提供了一种方便的方式。

  2. 创建Anthropic客户端的一个实例,传入我们的API密钥。

  3. 调用messages.create()方法向Claude发送消息。我们指定要使用的模型(claude-3-opus-20240229)、响应中的最大令牌数(max_tokens=1000)、温度(控制输出的随机性,温度=0.0表示最小随机性)和系统消息(设置对话的上下文)。

  4. 最后,我们打印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,可访问链接获取

微信扫一扫加客服

微信扫一扫加客服

点击启动AI问答
Draggable Icon