Skip to main content
Open on GitHub

AWS

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

第一方 AWS 集成可在 langchain_aws 包中找到。

pip install langchain-aws

此外,在 langchain_community 包中也有一些社区集成可用,它们依赖于可选的 boto3。

pip install langchain-community boto3

Chat models​

Bedrock Chat​

Amazon Bedrock 是一项完全托管的服务,通过单一 API 提供领先 AI 公司(如 AI21 Labs、Anthropic、Cohere、Meta、Stability AI 和 Amazon)的高性能基础模型 (FM) 选项,以及构建生成式 AI 应用所需的广泛能力,同时确保安全、隐私和负责任的 AI。通过使用 Amazon Bedrock,您可以轻松地为您的用例试验和评估顶级 FM,通过微调和检索增强生成 (RAG) 等技术使用您自己的数据私有化定制它们,并构建可以使用您的企业系统和数据源执行任务的代理。由于 Amazon Bedrock 是无服务器的,您无需管理任何基础设施,并且可以使用您熟悉的 AWS 服务安全地将生成式 AI 能力集成到您的应用程序中并进行部署。

请参阅 使用示例。

from langchain_aws import ChatBedrock
API Reference:ChatBedrock

Bedrock Converse​

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

info

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

请参阅 使用示例。

from langchain_aws import ChatBedrockConverse
API Reference:ChatBedrockConverse

LLMs​

Bedrock​

请参阅 使用示例。

from langchain_aws import BedrockLLM
API Reference: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 Reference:AmazonAPIGateway

SageMaker Endpoint​

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

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

请参阅 使用示例。

from langchain_aws import SagemakerEndpoint
API Reference:SagemakerEndpoint

Embedding Models​

Bedrock​

请参阅 使用示例。

from langchain_aws import BedrockEmbeddings
API Reference:BedrockEmbeddings

SageMaker Endpoint​

请参阅 使用示例。

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

Document loaders​

AWS S3 Directory and File​

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 Reference:AthenaLoader

AWS Glue​

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

请参阅 使用示例。

from langchain_community.document_loaders.glue_catalog import GlueCatalogLoader
API Reference:GlueCatalogLoader

Vector stores​

Amazon OpenSearch Service​

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

我们需要安装几个 Python 库。

pip install boto3 requests requests-aws4auth

请参阅 使用示例。

from langchain_community.vectorstores import OpenSearchVectorSearch

Amazon DocumentDB (with MongoDB Compatibility) 使在云中设置、操作和扩展兼容 MongoDB 的数据库变得容易。 使用 Amazon DocumentDB,您可以运行与使用 MongoDB 相同的应用程序代码,并使用与 MongoDB 相同的驱动程序和工具。 Amazon DocumentDB 的向量搜索结合了基于 JSON 的文档数据库的灵活性和丰富的查询能力与向量搜索的强大功能。

安装和设置​

请参阅 详细的配置说明。

我们需要安装 pymongo Python 库。

pip install pymongo

在 AWS 上部署 DocumentDB​

Amazon DocumentDB (with MongoDB Compatibility) 是一项快速、可靠且完全托管的数据库服务。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 Reference:InMemoryVectorStore

请参阅 使用示例。

Retrievers​

Amazon Kendra​

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

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

我们需要安装 langchain-aws 库。

pip install langchain-aws

请参阅 使用示例。

from langchain_aws import AmazonKendraRetriever
API Reference:AmazonKendraRetriever

Amazon Bedrock (Knowledge Bases)​

Knowledge bases for Amazon Bedrock 是 Amazon Web Services (AWS) 提供的一项产品,让您可以利用自己的私有数据自定义基础模型的响应,从而快速构建 RAG 应用程序。

我们需要安装 langchain-aws 库。

pip install langchain-aws

请参阅 使用示例。

from langchain_aws import AmazonKnowledgeBasesRetriever

Tools​

AWS Lambda​

Amazon AWS Lambda 是由 Amazon Web Services (AWS) 提供的一项无服务器计算服务。它帮助开发人员在不预配或管理服务器的情况下构建和运行应用程序及服务。这种无服务器架构使您能够专注于编写和部署代码,而 AWS 会自动处理运行应用程序所需的基础设施的扩展、修补和管理。

我们需要安装 boto3 Python 库。

pip install boto3

请参阅 使用示例。

Memory​

AWS DynamoDB​

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

我们需要配置 AWS CLI。

我们需要安装 boto3 库。

pip install boto3

请参阅 使用示例。

from langchain_community.chat_message_histories import DynamoDBChatMessageHistory

Graphs​

Amazon Neptune​

Amazon Neptune 是一种高性能图形分析和无服务器数据库,可提供卓越的可扩展性和可用性。

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

pip install langchain-aws

Amazon Neptune with 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 with SPARQL​

请参阅 使用示例。

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

Callbacks​

Bedrock token usage​

from langchain_community.callbacks.bedrock_anthropic_callback import BedrockAnthropicTokenUsageCallbackHandler

SageMaker Tracking​

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 Moderation Chain​

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

我们需要安装 boto3 和 nltk 库。

pip install boto3 nltk

请参阅 使用示例。

from langchain_experimental.comprehend_moderation import AmazonComprehendModerationChain