跳到主要内容
Open on GitHub

AWS

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

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

pip install langchain-aws

此外,还有一些社区集成在 langchain_community 包中可用,具有 boto3 可选依赖项。

pip install langchain-community boto3

聊天模型

Bedrock Chat

Amazon Bedrock 是一种完全托管服务,它通过单个 API 提供 AI21 LabsAnthropicCohereMetaStability AIAmazon 等领先 AI 公司提供的高性能基础模型 (FM) 选项,以及构建兼顾安全性、隐私和负责任的 AI 的生成式 AI 应用程序所需的一系列广泛功能。使用 Amazon Bedrock,您可以轻松地针对您的用例试验和评估顶级的 FM,使用微调和检索增强生成 (RAG) 等技术,利用您的数据进行私有定制,并构建代理来使用您的企业系统和数据源执行任务。由于 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
API 参考:ChatBedrockConverse

LLM

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
API 参考:AmazonAPIGateway

SageMaker Endpoint

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

我们使用 SageMaker 来托管我们的模型并将其公开为 SageMaker Endpoint

查看使用示例

from langchain_aws import SagemakerEndpoint
API 参考:SagemakerEndpoint

嵌入模型

Bedrock

查看使用示例

from langchain_aws import BedrockEmbeddings
API 参考:BedrockEmbeddings

SageMaker Endpoint

查看使用示例

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

文档加载器

AWS S3 目录和文件

Amazon Simple Storage Service (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 参考:AthenaLoader

AWS Glue

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

查看使用示例

from langchain_community.document_loaders.glue_catalog import GlueCatalogLoader
API 参考:GlueCatalogLoader

向量存储

Amazon OpenSearch Service

Amazon OpenSearch Service 执行交互式日志分析、实时应用程序监控、网站搜索等。OpenSearch 是一个源自 Elasticsearch 的开源分布式搜索和分析套件。Amazon 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 Web Services 进行云计算

查看使用示例

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,
)
API 参考:InMemoryVectorStore

查看使用示例

检索器

Amazon Kendra

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

借助 Kendra,我们可以在各种内容类型中进行搜索,包括文档、常见问题、知识库、手册和网站。它支持多种语言,可以理解复杂的查询、同义词和上下文含义,以提供高度相关的搜索结果。

我们需要安装 langchain-aws 库。

pip install langchain-aws

查看使用示例

from langchain_aws import AmazonKendraRetriever

Amazon Bedrock(知识库)

Amazon Bedrock 的知识库Amazon Web Services (AWS) 提供的一项服务,它允许您通过使用私有数据定制基础模型响应来快速构建 RAG 应用程序。

我们需要安装 langchain-aws 库。

pip install langchain-aws

查看使用示例

from langchain_aws import AmazonKnowledgeBasesRetriever

工具

AWS Lambda

Amazon AWS LambdaAmazon Web Services (AWS) 提供的一种无服务器计算服务。它帮助开发者构建和运行应用程序和服务,而无需预置或管理服务器。这种无服务器架构使您能够专注于编写和部署代码,而 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 token 用量

from langchain_community.callbacks.bedrock_anthropic_callback import BedrockAnthropicTokenUsageCallbackHandler

SageMaker 跟踪

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

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

我们需要安装几个 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