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
Bedrock Converse
AWS Bedrock 维护着一个 Converse API,为 Bedrock 模型提供统一的对话接口。此 API 目前尚不支持自定义模型。您可以在此处查看所有支持的模型列表。
我们推荐不需使用自定义模型的用户使用 Converse API。您可以使用 ChatBedrockConverse 进行访问。
请参阅 使用示例。
from langchain_aws import ChatBedrockConverse
LLMs
Bedrock
请参阅 使用示例。
from langchain_aws import 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 Endpoint
Amazon SageMaker 是一个可以通过完全托管的基础设施、工具和工作流来构建、训练和部署机器学习 (ML) 模型的系统。
我们使用 SageMaker 来托管我们的模型并将其公开为 SageMaker Endpoint。
请参阅 使用示例。
from langchain_aws import SagemakerEndpoint
Embedding Models
Bedrock
请参阅 使用示例。
from langchain_aws import 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 存储桶
请参阅 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
AWS Glue
AWS Glue Data Catalog 是一个集 中的元数据存储库,允许您管理、访问和共享有关存储在 AWS 中的数据的元数据。它充当数据资产的元数据存储,使各种 AWS 服务和您的应用程序能够高效地查询和连接它们所需的数据。
请参阅 使用示例。
from langchain_community.document_loaders.glue_catalog import 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 Vector Search
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,
)
请参阅 使用示例。
Retrievers
Amazon Kendra
Amazon Kendra 是由
Amazon Web Services(AWS) 提供的一项智能搜索服务。它利用先进的自然语言处理 (NLP) 和机器学习算法,在组织内的各种数据源中实现强大的搜索功能。Kendra旨在帮助用户快速准确地找到他们所需的信息,从而提高生产力和决策能力。
通过
Kendra,我们可以搜索各种内容类型,包括文档、常见问题解答、知识库、手册和网站。它支持多种语言,并能理解复杂的查询、同义词和上下文含义,从而提供高度相关的搜索结果。
我们需要安装 langchain-aws 库。
pip install langchain-aws
请参阅 使用示例。
from langchain_aws import 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