在本教程中,我们将了解 Claude 2X 模型,以及如何使用 Python API 访问它们。我们将介绍 API 的配置、发出基础查询及处理响应。同时还会学习流式查询、异步请求,以及一些更高级的 API 功能。教程的全部源代码可在 此 DataLab 工作簿 中获取;您可以轻松创建副本,在浏览器中直接编辑并运行代码,无需在本地安装任何软件。
学完本教程后,您应能较好地理解如何将 Claude 2 集成到自己的应用中,以充分利用其先进的自然语言能力。
对于刚接触生成式 AI 的读者,我们的 AI 基础技能路径可帮助您学习面向未来 AI 世界的新技术与新模型。
Claude 2 基础
Anthropic 近期发布了其大型语言模型的最新版本 Claude 2。它在多项任务上表现更佳,给出更长且更连贯的回答。此外,它还提供 API 访问和公开测试版网站,地址为 claude.ai。
图片来自 claude.ai
Claude 2 以自然对话著称,同时具备更强的推理能力、扩展的记忆与上下文追踪,并尽量减少有害输出。它在编程、数学推理与逻辑等能力上表现出提升。
例如,在法律推理方面,Claude 2 在律师资格考试的选择题部分得分 76.5%,比 Claude 1.3 高出 3.5%。在学术能力测试评估中,Claude 2 在 GRE 阅读和写作部分的分数高于第 90 个百分位,在数量推理方面与中位申请者相当。
接下来我们将通过提供模型版本、最大全文长度和提示来生成响应。请确保您的提示遵循 Claude 2X 模板。
completion = anthropic.completions.create( model="claude-2.1", max_tokens_to_sample=350, prompt=f"{HUMAN_PROMPT} How do I learn Python in a week?{AI_PROMPT}",)print(completion.completion)技术支持
anthropic = Anthropic()stream = anthropic.completions.create( prompt=f"{HUMAN_PROMPT}Could you please write a Python code to train a simple classification model?{AI_PROMPT}", max_tokens_to_sample=350, model="claude-2.1", stream=True,)for completion in stream:print(completion.completion, end="", flush=True)技术支持
可以看到我们以更快的速度逐行接收响应,就像 Claude 2.1 正在“敲字”一样。
同样,我们也可以在 `async` 模式下进行流式处理。注意这里只需在 completion 函数前添加 `await`,并在 for 循环前加上 `async`。
anthropic = AsyncAnthropic()stream =await anthropic.completions.create( prompt=f"{HUMAN_PROMPT}Please write a blog post on Neural Networks and use Markdown format. Kindly make sure that you proofread your work for any spelling, grammar, or punctuation errors.{AI_PROMPT}", max_tokens_to_sample=350, model="claude-2.1", stream=True,)asyncfor completion in stream:print(completion.completion, end="", flush=True)技术支持
如果您希望将一款更贴近自然对话且高度准确的语言模型集成到您的应用中,Anthropic 的 Claude 2 将是上佳之选。它提供公开的聊天应用(类似于 ChatGPT)、API,以及适用于不同模型版本的 playground。
在博客文章 Claude vs. ChatGPT:2023 年哪款 AI 助手更适合数据科学家? 中了解 Claude 与 ChatGPT 的回答差异。
在本教程中,我们将了解 Claude 2X 模型,以及如何使用 Python API 访问它们。我们将介绍 API 的配置、发出基础查询及处理响应。同时还会学习流式查询、异步请求,以及一些更高级的 API 功能。教程的全部源代码可在 此 DataLab 工作簿 中获取;您可以轻松创建副本,在浏览器中直接编辑并运行代码,无需在本地安装任何软件。
学完本教程后,您应能较好地理解如何将 Claude 2 集成到自己的应用中,以充分利用其先进的自然语言能力。
对于刚接触生成式 AI 的读者,我们的 AI 基础技能路径可帮助您学习面向未来 AI 世界的新技术与新模型。
Claude 2 基础
Anthropic 近期发布了其大型语言模型的最新版本 Claude 2。它在多项任务上表现更佳,给出更长且更连贯的回答。此外,它还提供 API 访问和公开测试版网站,地址为 claude.ai。
图片来自 claude.ai
Claude 2 以自然对话著称,同时具备更强的推理能力、扩展的记忆与上下文追踪,并尽量减少有害输出。它在编程、数学推理与逻辑等能力上表现出提升。
例如,在法律推理方面,Claude 2 在律师资格考试的选择题部分得分 76.5%,比 Claude 1.3 高出 3.5%。在学术能力测试评估中,Claude 2 在 GRE 阅读和写作部分的分数高于第 90 个百分位,在数量推理方面与中位申请者相当。
Claude 2.1 简介
2023 年 11 月 21 日,Anthropic 发布了 Claude 2.1,带来了显著改进,可实现更高级的推理并减少幻觉内容。此次升级的重点在于通过提升诚实性来增强可靠性。Claude 2.1 在面对知识库空白时会更加透明,而不是尝试编造信息。
它配备了 200K 的更大上下文窗口,使 Claude 能够引用并交叉核对论文等长篇内容,从而在冗长的摘要或分析中保持事实一致性。
Claude 2.1 还引入了实验性的工具使用功能。它使 Claude 2 能够在调用函数并执行操作的同时,以高精度从其他来源检索和处理数据。
设置 Claude 2
目前,对 Anthropic API 的访问仅向部分个人与组织开放。如果您希望率先体验,可在官网填写 申请表。Anthropic 正在逐步开放访问权限,以确保 API 的安全性与可扩展性。请注意,由于请求量较大,获得访问权限可能需要一定时间。
当您收到 Anthropic 的批准邮件并创建账户后,将被重定向至仪表板。该仪表板提供通往工作台的链接,类似于 OpenAI Playground,您可以在其中切换不同模型并分析响应。此外,其中还包含生成 API 密钥与文档的相关链接。
图片来自 Dashboard
要创建 API 密钥,您需要点击“Get API Keys”按钮并输入密钥名称。完成后,您将获得一个可用于通过 Claude 2 API 生成响应的密钥。
图片来自 Anthropic
要将 API 密钥设置为环境变量,您可以使用 Bash 命令,或在 DataLab 工作簿中进行设置。首先,启动一个新工作簿,然后在左侧面板进入“Environment”按钮。点击加号按钮,添加变量的名称和值。最后,点击保存以应用更改。
图片来自 DataLab
注意:您可以将 API 密钥直接写入 Python 函数,但出于安全原因强烈不建议这样做。
要在 Python 中访问 Anthropic API,首先需要使用 PIP 安装 Anthropic 的 Python SDK。
访问 Claude 2 API
本节我们将学习如何访问 Anthropic API,并使用 Claude 2.1 模型生成响应。您可以通过创建此工作簿的副本一同练习编码:Claude 2 与 Claude 2 API 入门。
我们将加载用于访问 API 密钥的
os模块,以及用于基于 API 密钥创建对话式 AI 流水线的anthropic库。“HUMAN_PROMPT”和“AI_PROMPT”实际是用于构建生成流水线中正确提示结构的字符串。
接下来我们将通过提供模型版本、最大全文长度和提示来生成响应。请确保您的提示遵循 Claude 2X 模板。
我们得到了非常理想的结果。Claude 2.1 为我们提供了一份为期一周的 Python 学习详细计划。
Anthropic 同时支持同步与异步的 API 请求。
同步 API 顺序执行请求,在收到响应前会阻塞后续调用。相对地,异步 API 可并发处理多个请求且不阻塞,并在各自完成时处理响应。与同步方式相比,异步 API 通常更高效、更具可扩展性。
要以异步方式调用 API,请导入
AsyncAnthropic而非Anthropic。使用async语法定义函数,并在每个 API 调用前使用await。我们得到的结果基本准确。有些来源称为 79,但 NASA 表示木星有 95 颗卫星。
注意:在运行 Python
.py文件(而非 Jupyter Notebook)时,请使用asyncio.run(main()),不要使用await main()。使用 Claude 2 进行 LLM 流式输出
流式处理已成为大型语言模型的一项关键技术,相较于传统处理方式具有多重优势。流式处理无需等待完整响应即可开始处理输出,它通过按令牌逐步返回语言模型的输出,而非一次性全部返回,从而降低感知延迟。
要启用流式输出,请在 completion 函数中将“stream”参数设置为 `True`。
可以看到我们以更快的速度逐行接收响应,就像 Claude 2.1 正在“敲字”一样。
同样,我们也可以在 `async` 模式下进行流式处理。注意这里只需在 completion 函数前添加 `await`,并在 for 循环前加上 `async`。
我们的生成式 AI 在撰写规范博文方面表现良好。
查看这份清单:7 款必备的生成式 AI 工具,助您构建功能完善、具备上下文感知的聊天机器人应用。
高级功能与自定义
Anthropic API 在基础响应生成之外,还提供多项高级功能与自定义选项:
anthropic对象中的default_headers参数进行自定义。.close()方法手动关闭客户端,或使用上下文管理器在退出时自动关闭。要了解更多高级功能,请查阅 Anthropic API 的文档。
Claude 2 API 的实践应用
Claude 2 API 在众多行业与领域拥有广泛的实用场景。在内容创作与文案写作方面,它可协助起草高质量文章、营销材料与创意写作。此外,还可用于:
结语
Python API 为访问 Anthropic 的尖端对话式 AI 模型提供了强大途径。我们介绍了使用访问密钥进行配置、发起同步与异步 API 调用、流式响应,以及部分高级功能。此外,我们也了解了 Claude 2 的实际应用场景。
虽然 API 目前仍处于有限开放阶段,Anthropic 正在逐步扩大访问范围。随着 Claude 2 的持续进步,Python API 将使开发者能够轻松将其前沿能力集成到各类产品与服务中。
希望本篇 Claude 2 API 入门对您有所帮助!欢迎尝试这些代码示例,亲自体验 Claude 2 的出色能力。这里还有一份清单 5 个可用生成式 AI 模型构建的项目,激发您的灵感,用 Claude 2 开启下一个生成式 AI 项目。