Skip to main content
Anthropic 是一家专注于人工智能安全与研究的公司。他们是 Claude 的创造者。 本文将帮助您快速上手使用 ChatAnthropic 聊天模型。关于所有 ChatAnthropic 功能和配置的详细文档,请参阅 API 参考

概述

集成详情

模型功能

请参阅下表标题中的链接,了解如何使用特定功能的指南。

设置

您需要注册并获取 Anthropic API 密钥,然后安装 @langchain/anthropic 集成包。

凭据

前往 Anthropic 网站 注册 Anthropic 并生成 API 密钥。完成后,设置 ANTHROPIC_API_KEY 环境变量:
如果您想自动跟踪模型调用,还可以通过取消下面的注释来设置您的 LangSmith API 密钥:

安装

LangChain ChatAnthropic 集成位于 @langchain/anthropic 包中:

实例化

现在我们可以实例化模型对象并生成聊天补全:

调用

内容块

Anthropic 模型与其他大多数模型的一个关键区别在于,单个 Anthropic AIMessage 的内容可以是单个字符串,也可以是内容块列表。例如,当 Anthropic 模型调用工具时,工具调用是消息内容的一部分(同时也在标准化的 AIMessage.tool_calls 字段中公开):

自定义请求头

您可以像这样在请求中传递自定义请求头:

提示缓存

兼容性:此功能目前处于测试阶段。
Anthropic 支持缓存部分提示,以降低需要长上下文的使用场景的成本。您可以缓存工具以及整个消息和单个块。 包含一个或多个带有 "cache_control": { "type": "ephemeral" } 字段的块或工具定义的初始请求将自动缓存该部分提示。此初始缓存步骤会产生额外费用,但后续请求将按较低费率计费。缓存的生存期为 5 分钟,但每次命中缓存时都会刷新此生存期。 此外,当前存在一个最小可缓存提示长度,该长度因模型而异。更多信息,请参阅提示缓存详情 这目前需要您使用 beta 请求头初始化模型。以下是一个缓存系统消息部分的示例,该消息包含 LangChain 概念文档
我们可以看到,从 Anthropic 返回的原始使用量字段中有一个名为 cache_creation_input_tokens 的新字段。 如果我们再次使用相同的消息,可以看到长文本的输入令牌是从缓存中读取的:

工具缓存

您还可以通过在工具定义中设置相同的 "cache_control": { "type": "ephemeral" } 来缓存工具。这目前要求您以 Anthropic 的原始工具格式绑定工具。示例如下:
有关提示缓存工作原理的更多信息,请参阅 Anthropic 的文档

自定义客户端

Anthropic 模型可以托管在诸如 Google Vertex 之类的云服务上,这些服务依赖于具有与主 Anthropic 客户端相同接口的不同底层客户端。您可以通过提供一个 createClient 方法来访问这些服务,该方法返回一个已初始化的 Anthropic 客户端实例。示例如下:

引用

Anthropic 支持引用功能,允许 Claude 根据用户提供的源材料将其答案附加上下文。此源材料可以作为文档内容块(描述完整文档)或搜索结果(描述从检索系统返回的相关段落或片段)提供。当查询中包含 "citations": { "enabled": true } 时,Claude 可能会在其响应中生成对提供材料的直接引用。

文档示例

在此示例中,我们传递一个纯文本文档。在后台,Claude 自动将输入文本分块为句子,用于生成引用。

搜索结果示例

在此示例中,我们将搜索结果作为消息内容的一部分传入。这允许 Claude 在其响应中引用您自己的检索系统中的特定段落或片段。 当您希望 Claude 引用特定知识集中的信息,但希望直接提供您自己预取/缓存的内容,而不是让模型自动搜索或检索它们时,此方法很有帮助。
了解更多关于 LangChain 中 RAG 的工作原理 了解有关工具调用的更多信息

与文本分割器一起使用

Anthropic 还允许您使用自定义文档类型来指定自己的分割。LangChain 的文本分割器可用于为此目的生成有意义的片段。请参见下面的示例,我们将 LangChain.js README(一个 markdown 文档)进行分割,并将其作为上下文传递给 Claude:

上下文管理

Anthropic 支持上下文编辑功能,该功能将自动管理模型的上下文窗口(例如,通过清除工具结果)。 有关详细信息和配置选项,请参阅 Anthropic 文档
@langchain/anthropic@0.3.29 起支持上下文管理

API 参考

有关所有 ChatAnthropic 功能和配置的详细文档,请访问 API 参考