Skip to main content
Open on GitHub

AWS

Amazon AWS 平台相关的 LangChain 个集成。

第一方 AWS 集成可在 langchain_aws 包中使用。

pip install langchain-aws

此外,在带有 boto3 可选依赖的 langchain_community 包中,还提供了一些社区集成。

pip install langchain-community boto3

聊天模型

Bedrock 聊天

Amazon Bedrock 是一项完全托管的服务,通过单一 API 提供来自领先人工智能公司(如 AI21 LabsAnthropicCohereMetaStability AIAmazon)的高性能基础模型(FMs)选择,并提供构建具备安全性、隐私性和负责任人工智能的生成式 AI 应用所需的广泛功能。使用 Amazon Bedrock,您可以轻松针对您的用例试验和评估顶级基础模型,利用微调和 Retrieval Augmented GenerationRAG)等技术使用您的数据对其进行私有化定制,并构建能够利用您的企业系统和数据源执行任务的智能体。由于 Amazon Bedrock 采用无服务器架构,您无需管理任何基础设施,并且可以使用您早已熟悉的 AWS 服务,将生成式 AI 功能安全地集成和部署到您的应用中。

查看 使用示例

from langchain_aws import ChatBedrock
API 参考:ChatBedrock

Bedrock Converse

AWS Bedrock 维护着一个 Converse API, 该接口为 Bedrock 模型提供了统一的对话式交互界面。此 API 目前 尚不支持自定义模型。您可以在此处查看支持的 所有模型列表

信息

我们推荐不需要使用自定义模型的用户使用 Converse API。可以通过 ChatBedrockConverse 进行访问。

查看 使用示例

from langchain_aws import ChatBedrockConverse

大型语言模型

Bedrock

查看 使用示例

from langchain_aws import BedrockLLM
API 参考:BedrockLLM

Amazon API Gateway

Amazon API Gateway 是一项完全托管的服务,可帮助开发人员轻松创建、发布、维护、监控和保护任意规模的 API。API 充当应用程序访问后端服务中的数据、业务逻辑或功能的“门户”。使用API Gateway,您可以创建支持实时双向通信应用程序的 RESTful API 和 WebSocket API。API Gateway 支持容器化和无服务器工作负载,以及 Web 应用程序。

API Gateway 处理所有涉及接受和处理高达数十万个并发 API 调用的任务,包括流量管理、CORS 支持、授权与访问控制、限流、监控以及 API 版本管理。API Gateway 没有最低费用或启动成本。您只需为收到的 API 调用次数和传出的数据量付费,并且通过 API Gateway 的分层定价模型,随着您的 API 使用量增长,您可以降低成本。

查看 使用示例

from langchain_community.llms import AmazonAPIGateway

SageMaker 端点

Amazon SageMaker 是一个能够通过完全托管的基础设施、工具和工作流来构建、训练和部署机器学习 (ML) 模型的系统。

我们使用 SageMaker 来托管我们的模型,并将其作为 SageMaker Endpoint 暴露出来。

查看 使用示例

from langchain_aws import SagemakerEndpoint
API 参考:Sagemaker 端点

嵌入模型

Bedrock

查看 使用示例

from langchain_aws import BedrockEmbeddings
API 参考:Bedrock 嵌入

SageMaker 端点

查看 使用示例

from langchain_community.embeddings import SagemakerEndpointEmbeddings
from langchain_community.llms.sagemaker_endpoint import ContentHandlerBase

文档加载器

AWS S3 目录和文件

Amazon简单存储服务 (Amazon S3) 是一项对象存储服务。 AWS S3 目录 AWS S3 存储桶

查看 S3DirectoryLoader 的使用示例

查看 S3FileLoader 的使用示例

from langchain_community.document_loaders import S3DirectoryLoader, S3FileLoader

Amazon Textract

Amazon Textract 是一项机器学习 (ML) 服务,可自动从扫描文档中提取文本、手写内容和数据。

查看 使用示例

from langchain_community.document_loaders import AmazonTextractPDFLoader

Amazon Athena

Amazon Athena 是一项无服务器的交互式分析服务,基于开源框架构建,支持开放表格式和文件格式。

查看 使用示例

from langchain_community.document_loaders.athena import AthenaLoader
API 参考:Athena 加载器

AWS Glue

AWS Glue 数据目录是一个集中的元数据存储库,允许您管理、访问和共享存储在 AWS 中的数据的元数据。它作为您数据资产的元数据存储,使各种 AWS 服务和您的应用程序能够高效地查询并连接到所需的数据。

查看 使用示例

from langchain_community.document_loaders.glue_catalog import GlueCatalogLoader

向量存储

Amazon OpenSearch Service

Amazon OpenSearch Service 执行交互式日志分析、实时应用程序监控、网站搜索等功能。OpenSearch 是一个开源的分布式搜索和分析套件,衍生自 ElasticsearchAmazon OpenSearch Service 提供最新版本的 OpenSearch,支持多个版本的 Elasticsearch,以及由 OpenSearch DashboardsKibana 驱动的可视化功能。

我们需要安装几个 Python 库。

pip install boto3 requests requests-aws4auth

查看 使用示例

from langchain_community.vectorstores import OpenSearchVectorSearch

Amazon DocumentDB(兼容 MongoDB) 让您能够轻松在云端设置、运营和扩展兼容 MongoDB 的数据库。 借助 Amazon DocumentDB,您可以运行与 MongoDB 相同的应用程序代码,并使用相同的驱动程序和工具。 Amazon DocumentDB 的向量搜索功能结合了基于 JSON 的文档数据库的灵活性和丰富的查询能力,以及向量搜索的强大功能。

安装与设置

查看 详细配置说明

我们需要安装 pymongo Python 包。

pip install pymongo

在 AWS 上部署 DocumentDB

Amazon DocumentDB(兼容 MongoDB) 是一项快速、可靠且完全托管的数据库服务。Amazon DocumentDB 让您能够轻松在云端设置、运营和扩展兼容 MongoDB 的数据库。

AWS 提供计算、数据库、存储、分析及其他功能的服务。如需了解所有 AWS 服务的概览,请参阅 使用Amazon网络服务进行云计算

查看 使用示例

from langchain_community.vectorstores import DocumentDBVectorSearch

Amazon MemoryDB

Amazon MemoryDB 是一项持久化的内存数据库服务,可提供超高性能。MemoryDB 与 Redis OSS(一种流行的开源数据存储)兼容,使您能够使用目前已在使用的灵活且友好的 Redis OSS API 和命令快速构建应用程序。

InMemoryVectorStore 类提供了一个向量存储,用于连接 Amazon MemoryDB。

from langchain_aws.vectorstores.inmemorydb import InMemoryVectorStore

vds = InMemoryVectorStore.from_documents(
chunks,
embeddings,
redis_url="rediss://cluster_endpoint:6379/ssl=True ssl_cert_reqs=none",
vector_schema=vector_schema,
index_name=INDEX_NAME,
)

查看 使用示例

检索器

Amazon Kendra

Amazon Kendra 是一项由 Amazon Web ServicesAWS)提供的智能搜索服务。它利用先进的自然语言处理(NLP)和机器学习算法,实现跨组织内各种数据源的强大搜索能力。Kendra 旨在帮助用户快速准确地找到所需信息,从而提高生产力和决策效率。

使用 Kendra,我们可以搜索广泛的内容类型,包括文档、常见问题解答、知识库、 手册和网站。它支持多种语言,能够理解复杂查询、同义词以及 上下文含义,从而提供高度相关的搜索结果。

我们需要安装 langchain-aws 库。

pip install langchain-aws

查看 使用示例

from langchain_aws import AmazonKendraRetriever

Amazon Bedrock(知识库)

Amazon Bedrock 知识库 是一项 Amazon Web ServicesAWS)服务,可让您利用私有数据自定义基础模型响应,从而快速构建 RAG 应用。

我们需要安装 langchain-aws 库。

pip install langchain-aws

查看 使用示例

from langchain_aws import AmazonKnowledgeBasesRetriever

工具

AWS Lambda

Amazon AWS Lambda 是由 Amazon Web ServicesAWS)提供的无服务器计算服务。它帮助开发者构建和运行应用程序及服务,而无需配置或管理服务器。这种无服务器架构让您能够专注于编写和部署代码,同时由 AWS 自动处理扩展、修补以及运行应用程序所需的基础设施管理工作。

我们需要安装 boto3 个 Python 库。

pip install boto3

查看 使用示例

内存

AWS DynamoDB

AWS DynamoDB 是一项完全托管的 NoSQL 数据库服务,提供快速、可预测的性能以及无缝的可扩展性。

我们需要配置 AWS CLI

我们需要安装 boto3 库。

pip install boto3

查看 使用示例

from langchain_community.chat_message_histories import DynamoDBChatMessageHistory

图谱

Amazon Neptune

Amazon Neptune 是一款高性能的图分析无服务器数据库,具备卓越的可扩展性和可用性。

对于下面的 Cypher 和 SPARQL 集成,我们需要安装 langchain-aws 库。

pip install langchain-aws

Amazon Neptune 与 Cypher

查看 使用示例

from langchain_aws.graphs import NeptuneGraph
from langchain_aws.graphs import NeptuneAnalyticsGraph
from langchain_aws.chains import create_neptune_opencypher_qa_chain

Amazon Neptune 与 SPARQL

查看 使用示例

from langchain_aws.graphs import NeptuneRdfGraph
from langchain_aws.chains import create_neptune_sparql_qa_chain

回调函数

Bedrock 令牌使用量

from langchain_community.callbacks.bedrock_anthropic_callback import BedrockAnthropicTokenUsageCallbackHandler

SageMaker 追踪

Amazon SageMaker 是一项全托管服务,用于快速、轻松地构建、训练和部署机器学习 (ML) 模型。

Amazon SageMaker ExperimentsAmazon SageMaker 的一项功能,可让您组织、跟踪、比较和评估机器学习实验及模型版本。

我们需要安装几个 Python 库。

pip install google-search-results sagemaker

查看 使用示例

from langchain_community.callbacks import SageMakerCallbackHandler

链式操作

Amazon Comprehend 审核链

Amazon Comprehend 是一项自然语言处理 (NLP) 服务, 利用机器学习从文本中发掘有价值的洞察与关联。

我们需要安装 boto3nltk 库。

pip install boto3 nltk

查看使用示例

from langchain_experimental.comprehend_moderation import AmazonComprehendModerationChain