Skip to main content
Amazon Bedrock 是一项完全托管的服务,通过单一 API 提供来自领先 AI 公司(如 AI21 Labs、Anthropic、Cohere、Meta、Stability AI 和 Amazon)的高性能基础模型(FMs)选择,以及构建具有安全性、隐私性和负责任 AI 的生成式 AI 应用程序所需的一系列广泛功能。 本文将帮助您开始使用 LangChain 集成 Amazon Bedrock 的嵌入模型。有关 Bedrock 功能和配置选项的详细文档,请参阅 API 参考

概述

集成详情

设置

要访问 Bedrock 嵌入模型,您需要创建一个 AWS 账户,获取 API 密钥,并安装 @langchain/aws 集成包。 前往 AWS 文档 注册 AWS 并设置您的凭证。您还需要为您的账户启用模型访问权限,您可以按照这些说明进行操作。

凭证

如果您希望自动追踪模型调用,还可以通过取消注释以下内容来设置您的 LangSmith API 密钥:

安装

LangChain Bedrock 集成位于 @langchain/aws 包中:

实例化

现在我们可以实例化我们的模型对象并嵌入文本。 有几种不同的方式可以对 AWS 进行身份验证 - 以下示例依赖于在环境变量中设置的访问密钥、秘密访问密钥和区域:

索引与检索

嵌入模型通常用于检索增强生成(RAG)流程中,既作为索引数据的一部分,也用于后续检索。更详细的说明,请参阅 学习 标签页下的 RAG 教程。 下面,看看如何使用上面初始化的 embeddings 对象来索引和检索数据。在此示例中,我们将使用演示版 MemoryVectorStore 来索引和检索一个示例文档。

直接使用

在底层,向量存储和检索器的实现会调用 embeddings.embedDocument(...)embeddings.embedQuery(...) 来为 fromDocuments 中使用的文本以及检索器的 invoke 操作分别创建嵌入。 您可以直接调用这些方法来获取用于自己用例的嵌入。

嵌入单个文本

您可以使用 embedQuery 嵌入查询以进行搜索。这会生成特定于查询的向量表示:

嵌入多个文本

您可以使用 embedDocuments 嵌入多个文本以进行索引。此方法内部使用的机制可能(但不一定)与嵌入查询不同:

配置 Bedrock 运行时客户端

如果您想自定义 credentialsregionretryPolicy 等选项,可以传入您自己的 BedrockRuntimeClient 实例。

API 参考

有关所有 Bedrock 功能和配置的详细文档,请前往 API 参考