AWS
与Amazon AWS平台相关的LangChain
集成。
第一方 AWS 集成在langchain_aws
包中可用。
pip install langchain-aws
并且在langchain_community
包中还有一些社区集成,以及boto3
可选依赖项。
pip install langchain-community boto3
聊天模型
Bedrock 聊天
Amazon Bedrock 是一项完全托管的服务,提供来自领先 AI 公司(如
AI21 Labs
、Anthropic
、Cohere
、Meta
、Stability AI
和Amazon
)的一系列高性能基础模型 (FM),并通过单个 API 提供,以及构建生成式 AI 应用程序所需的安全、隐私和负责任 AI 的广泛功能。使用Amazon Bedrock
,您可以轻松地试验和评估适合您用例的顶级 FM,使用微调和检索增强生成
(RAG
) 等技术私下使用您的数据对其进行自定义,并构建使用您的企业系统和数据源执行任务的代理。由于Amazon Bedrock
是无服务器的,因此您无需管理任何基础设施,并且可以使用您已经熟悉的 AWS 服务安全地将生成式 AI 功能集成和部署到您的应用程序中。
查看使用示例。
from langchain_aws import ChatBedrock
Bedrock Converse
AWS 最近发布了 Bedrock Converse API,它为 Bedrock 模型提供了一个统一的对话界面。此 API 尚未支持自定义模型。您可以查看此处列出的所有受支持的模型。为了提高可靠性,ChatBedrock 集成将在其与现有 Bedrock API 功能相同后切换到使用 Bedrock Converse API。在此之前,已发布了一个单独的ChatBedrockConverse集成。
我们建议不需使用自定义模型的用户使用ChatBedrockConverse
。请参阅文档和API 参考以获取更多详细信息。
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 支持实时双向通信应用程序。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 端点
。
查看使用示例。
from langchain_aws import SagemakerEndpoint
嵌入模型
Bedrock
查看使用示例。
from langchain_community.embeddings import 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 存储桶
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 服务
Amazon OpenSearch 服务 可执行交互式日志分析、实时应用程序监控、网站搜索等操作。
OpenSearch
是一个开源的分布式搜索和分析套件,源自Elasticsearch
。Amazon OpenSearch 服务
提供最新版本的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 相同的应用程序代码,并使用与 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,
)
请参阅使用示例。
检索器
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
图
使用 Cypher 的 Amazon Neptune
请参阅使用示例。
from langchain_community.graphs import NeptuneGraph
from langchain_community.graphs import NeptuneAnalyticsGraph
from langchain_community.chains.graph_qa.neptune_cypher import NeptuneOpenCypherQAChain
使用 SPARQL 的 Amazon Neptune
请参阅使用示例。
from langchain_community.graphs import NeptuneRdfGraph
from langchain_community.chains.graph_qa.neptune_sparql import NeptuneSparqlQAChain
回调
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
链
Amazon Comprehend 调节链
Amazon Comprehend 是一种自然语言处理 (NLP) 服务,它使用机器学习来揭示文本中的宝贵见解和关联。
我们需要安装 boto3
和 nltk
库。
pip install boto3 nltk
请参阅使用示例。
from langchain_experimental.comprehend_moderation import AmazonComprehendModerationChain