AWS
与Amazon AWS平台相关的LangChain
集成。
第一方 AWS 集成可在 langchain_aws
包中使用。
pip install langchain-aws
此外,langchain_community
包中还有一些社区集成,这些集成依赖于可选的 boto3
依赖项。
pip install langchain-community boto3
聊天模型
Bedrock 聊天
Amazon Bedrock 是一项完全托管的服务,提供来自领先AI公司的高性能基础模型(FMs)选择,如
AI21 Labs
、Anthropic
、Cohere
、Meta
、Stability AI
和Amazon
,通过单一API提供,并附带一系列功能,帮助您构建具有安全性、隐私性和负责任AI的生成式AI应用程序。使用Amazon Bedrock
,您可以轻松地针对您的用例进行实验和评估顶级FMs,使用微调和Retrieval Augmented Generation
(RAG
)等技术,利用您的数据对其进行私有化定制,并构建使用您的企业系统和数据源执行任务的代理。由于Amazon Bedrock
是无服务器的,您无需管理任何基础设施,并且可以使用您已经熟悉的AWS服务,安全地将生成式AI功能集成和部署到您的应用程序中。
查看一个使用示例。
from langchain_aws import ChatBedrock
Bedrock Converse
AWS最近发布了Bedrock Converse API,该API为Bedrock模型提供了一个统一的对话界面。此API目前还不支持自定义模型。您可以查看这里支持的所有模型列表。为了提高可靠性,一旦Bedrock Converse API与现有的Bedrock API具有功能对等性,ChatBedrock集成将切换到使用Bedrock Converse API。在此之前,已经发布了一个单独的ChatBedrockConverse集成。
我们建议不需要使用自定义模型的用户使用ChatBedrockConverse
。详情请参阅文档和API参考。
from langchain_aws import ChatBedrockConverse
大型语言模型
基础
查看一个使用示例。
from langchain_aws import BedrockLLM
亚马逊API网关
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 Endpoint
。
查看使用示例。
from langchain_aws import SagemakerEndpoint
嵌入模型
基础
查看一个使用示例。
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 Directory AWS S3 Buckets
from langchain_community.document_loaders import S3DirectoryLoader, S3FileLoader
亚马逊文本提取
Amazon Textract 是一种机器学习(ML)服务,能够自动从扫描的文档中提取文本、手写内容和数据。
查看使用示例。
from langchain_community.document_loaders import AmazonTextractPDFLoader
亚马逊雅典娜
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
向量存储
亚马逊OpenSearch服务
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服务的概述,请参见使用亚马逊网络服务进行云计算。
查看使用示例。
from langchain_community.vectorstores import DocumentDBVectorSearch
亚马逊MemoryDB
Amazon MemoryDB 是一个持久的内存数据库服务,提供超快的性能。MemoryDB 与 Redis OSS 兼容,Redis OSS 是一个流行的开源数据存储,使您能够使用相同的灵活且友好的 Redis OSS API 和命令快速构建应用程序,这些 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,
)
查看使用示例。
检索器
亚马逊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 for 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 与 Cypher
查看一个使用示例。
from langchain_community.graphs import NeptuneGraph
from langchain_community.graphs import NeptuneAnalyticsGraph
from langchain_community.chains.graph_qa.neptune_cypher import NeptuneOpenCypherQAChain
Amazon Neptune 与 SPARQL
查看一个使用示例。
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
的一项功能,它允许您组织、跟踪、比较和评估机器学习实验和模型版本。
我们需要安装几个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