AWS
与 Amazon AWS 平台相关的 LangChain 个集成。
第一方 AWS 集成可在 langchain_aws 包中使用。
pip install langchain-aws
此外,在带有 boto3 可选依赖的 langchain_community 包中,还提供了一些社区集成。
pip install langchain-community boto3
聊天模型
Bedrock 聊天¶
Amazon Bedrock 是一项完全托管的服务,通过单一 API 提供来自领先人工智能公司(如
AI21 Labs、Anthropic、Cohere、Meta、Stability AI和Amazon)的高性能基础模型(FMs)选择,并提供构建具备安全性、隐私性和负责任人工智能的生成式 AI 应用所需的广泛功能。使用Amazon Bedrock,您可以轻松针对您的用例试验和评估顶级基础模型,利用微调和Retrieval Augmented Generation(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
大型语言模型
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 端点¶
Amazon SageMaker 是一个能够通过完全托管的基础设施、工具和工作流来构建、训练和部署机器学习 (ML) 模型的系统。
我们使用 SageMaker 来托管我们的模型,并将其作为 SageMaker Endpoint 暴露出来。
查看 使用示例。
from langchain_aws import SagemakerEndpoint
嵌入模型
Bedrock¶
查看 使用示例。
from langchain_aws import BedrockEmbeddings
SageMaker 端点¶
查看 使用示例。
from langchain_community.embeddings import SagemakerEndpointEmbeddings
from langchain_community.llms.sagemaker_endpoint import ContentHandlerBase
文档加载器
AWS S3 目录和文件¶
Amazon简单存储服务 (Amazon S3) 是一项对象存储服务。 AWS S3 目录 AWS S3 存储桶
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 数据目录是一个集中的元数据存储库,允许您管理、访问和共享存储在 AWS 中的数据的元数据。它作为您数据资产的元数据存储,使各种 AWS 服务和您的应用程序能够高效地查询并连接到所需的数据。
查看 使用示例。
from langchain_community.document_loaders.glue_catalog import GlueCatalogLoader
向量存储
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 向量搜索¶
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 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 Lambda是由Amazon 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 令牌使用量¶
from langchain_community.callbacks.bedrock_anthropic_callback import BedrockAnthropicTokenUsageCallbackHandler
SageMaker 追踪¶
Amazon SageMaker 是一项全托管服务,用于快速、轻松地构建、训练和部署机器学习 (ML) 模型。
Amazon SageMaker Experiments 是
Amazon SageMaker的一项功能,可让您组织、跟踪、比较和评估机器学习实验及模型版本。
我们需要安装几个 Python 库。
pip install google-search-results sagemaker
查看 使用示例。
from langchain_community.callbacks import SageMakerCallbackHandler
链式操作
Amazon Comprehend 审核链
Amazon Comprehend 是一项自然语言处理 (NLP) 服务, 利用机器学习从文本中发掘有价值的洞察与关联。
我们需要安装 boto3 和 nltk 库。
pip install boto3 nltk
查看使用示例。
from langchain_experimental.comprehend_moderation import AmazonComprehendModerationChain