Skip to main content
在 GitHub 上打开

AWS

LangChainAmazon AWS 平台相关的集成。

第一方 AWS 集成在langchain_aws包。

pip install langchain-aws

此外,还有一些社区集成可用langchain_community软件包中的boto3optional 依赖项。

pip install langchain-community boto3

聊天模型

Bedrock Chat

Amazon Bedrock 是一项完全托管的服务,提供 来自领先 AI 公司的高性能基础模型 (FM),例如AI21 Labs,Anthropic,Cohere,Meta,Stability AIAmazon通过单个 API,以及您需要的一系列广泛功能 构建具有安全性、隐私性和负责任的 AI 的生成式 AI 应用程序。用Amazon Bedrock, 您可以轻松地针对您的用例试验和评估顶级 FM,并使用 您的数据使用微调和Retrieval Augmented Generation (RAG) 并构建 使用您的企业系统和数据源执行任务的代理。因为Amazon Bedrock是 无服务器,您不必管理任何基础设施,并且可以安全地集成和部署 使用您已经熟悉的 AWS 服务将生成式 AI 功能集成到您的应用程序中。

请参阅使用示例

from langchain_aws import ChatBedrock
API 参考:ChatBedrock

Bedrock Converse

AWS Bedrock 维护着一个 Converse API,该 API 为 Bedrock 模型提供统一的对话界面。此 API 不会 但支持自定义模型。您可以在此处查看支持的所有模型的列表。

信息

我们建议不需要使用自定义模型的用户使用 Converse API。可以使用 ChatBedrockConverse 访问它。

请参阅使用示例

from langchain_aws import ChatBedrockConverse
API 参考:ChatBedrockConverse

LLM

Bedrock

请参阅使用示例

from langchain_aws import BedrockLLM
API 参考:BedrockLLM

Amazon API 网关

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 终端节点

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

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

请参阅使用示例

from langchain_aws import SagemakerEndpoint
API 参考:SagemakerEndpoint

嵌入模型

Bedrock

请参阅使用示例

from langchain_aws import BedrockEmbeddings
API 参考:BedrockEmbeddings

SageMaker 终端节点

请参阅使用示例

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 是一种构建的无服务器交互式分析服务 在开源框架上,支持 open-table 和 file 格式。

请参阅使用示例

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 服务

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 的文档数据库的灵活性和丰富的查询功能与矢量搜索的强大功能相结合。

安装和设置

请参阅详细的配置说明

我们需要安装pymongopython 软件包。

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

请参阅使用示例

Retriever

Amazon Kendra

Amazon Kendra 是一种智能搜索服务 提供方Amazon 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) 产品,它允许您使用 private data 自定义 Foundation Model 响应。

我们需要安装langchain-aws库。

pip install langchain-aws

请参阅使用示例

from langchain_aws import AmazonKnowledgeBasesRetriever

工具

AWS Lambda 公司

Amazon AWS Lambda是由Amazon Web Services (AWS).它可以帮助开发人员构建和运行应用程序和服务,而无需 预置或管理 Server。这种无服务器架构使您能够专注于编写和 部署代码,而 AWS 会自动负责扩展、修补和管理 运行应用程序所需的基础设施。

我们需要安装boto3python 库。

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

使用 SPARQL 的 Amazon Neptune

请参阅使用示例

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 Experiments 是一项功能 之Amazon SageMaker它允许您组织、跟踪、 比较和评估 ML 实验和模型版本。

我们需要安装几个 python 库。

pip install google-search-results sagemaker

请参阅使用示例

from langchain_community.callbacks import SageMakerCallbackHandler

Chains

Amazon Comprehend 审核链

Amazon Comprehend 是一种自然语言处理 (NLP) 服务,它 使用机器学习来发现文本中有价值的见解和联系。

我们需要安装boto3nltk库。

pip install boto3 nltk

请参阅使用示例

from langchain_experimental.comprehend_moderation import AmazonComprehendModerationChain