Skip to main content
所有 LangChain 与 Amazon AWS 平台的集成。

聊天模型

Bedrock 聊天

Amazon Bedrock 是一项完全托管的服务,通过单个 API 提供了来自 AI21 LabsAnthropicCohereMetaStability AIAmazon 等领先 AI 公司的高性能基础模型 (FMs) 供您选择,同时还提供一整套广泛的功能,帮助您以安全、私密和负责任的方式构建生成式 AI 应用。使用 Amazon Bedrock,您可以轻松地试验和评估适用于您用例的顶级基础模型,使用您的数据并通过微调和 Retrieval Augmented Generation (RAG) 等技术对其进行私有化定制,并构建利用您的企业系统和数据源执行任务的智能体。由于 Amazon Bedrock 是无服务器的,您无需管理任何基础设施,并且可以使用您已经熟悉的 AWS 服务,安全地将生成式 AI 功能集成和部署到您的应用程序中。
请参阅使用示例
from langchain_aws import ChatBedrock

Bedrock Converse

AWS Bedrock maintains a Converse API that provides a unified conversational interface for Bedrock models. This API does not yet support custom models. You can see a list of all models that are supported here.
我们推荐不需要使用自定义模型的用户使用 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 端点

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 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

AWS Glue

AWS Glue Data Catalog 是一个中心化的元数据存储库,允许您管理、访问和共享您存储在 AWS 中的数据的元数据。它作为您数据资产的元数据存储,让各种 AWS 服务和您的应用程序能够高效地查询并连接到它们所需的数据。 查看一个使用示例
from langchain_community.document_loaders.glue_catalog import GlueCatalogLoader

向量存储

Amazon OpenSearch 服务

Amazon OpenSearch Service 提供 交互式日志分析、实时应用程序监控、网站搜索以及更多功能。OpenSearch 是 一个开源的、分布式搜索和分析套件,派生自 ElasticsearchAmazon OpenSearch Service 提供 OpenSearch 的最新版本、对多个 Elasticsearch 版本的支持,以及由 OpenSearch DashboardsKibana 提供的可视化功能。
我们需要安装几个 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 Web Services 云计算 参见使用示例
from langchain_community.vectorstores import DocumentDBVectorSearch

Amazon MemoryDB

Amazon MemoryDB 是一款持久化的内存数据库服务,可提供超快性能。MemoryDB 与流行的开源数据存储 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,
        )
查看使用示例

检索器

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 LambdaAmazon Web Services (AWS) 提供的一种无服务器计算服务。它帮助开发者构建和运行应用程序与服务,而无需 配置或管理服务器。这种无服务器架构使您能够专注于编写和 部署代码,而 AWS 会自动处理扩展、修补和管理运行您的应用程序所需的 基础设施。
我们需要安装 boto3 Python 库。
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 token 使用情况

from langchain_community.callbacks.bedrock_anthropic_callback import BedrockAnthropicTokenUsageCallbackHandler

SageMaker 跟踪

Amazon SageMaker 是一种完全托管的服务,用于快速轻松地构建、训练和部署机器学习 (ML) 模型。
Amazon SageMaker ExperimentsAmazon SageMaker 的一项功能,可让您组织、跟踪、比较和评估 ML 实验与模型版本。
我们需要安装几个 Python 库。
pip install google-search-results sagemaker
请参阅使用示例
from langchain_community.callbacks import SageMakerCallbackHandler

Amazon Comprehend 审核链

Amazon Comprehend 是一种自然语言处理 (NLP) 服务,使用机器学习挖掘文本中的宝贵见解和关联。
我们需要安装 boto3nltk 库。
pip install boto3 nltk
查看使用示例
from langchain_experimental.comprehend_moderation import AmazonComprehendModerationChain

LangGraph.js 概览

LangGraph.js 是一个用于构建有状态、多智能体应用程序的库。它通过将步骤建模为图中的边和节点来扩展 LangChain 表达式语言,从而实现了对流程和状态的精细控制。它内置了持久化功能,支持循环和容错能力,这对于创建复杂智能体网络至关重要。

核心概念

状态图

LangGraph 的核心是 StateGraph。它定义了一个结构,其中每个节点代表一个步骤或函数调用,而边则控制这些步骤之间的转换流程。图中的“状态”在节点之间传递,并随着每个步骤的执行而更新。

节点

在 LangGraph 中,节点是执行工作的单元。每个节点都是一个函数,它接收当前状态作为输入,并返回一个更新后的状态。这些函数可以是任何东西,从简单的数据转换到调用语言模型或 API。

边定义了节点之间的转换逻辑。LangGraph 支持两种类型的边:
  • 普通边:定义了从一个节点到另一个节点的固定转换。
  • 条件边:根据当前状态决定下一个要执行的节点,从而实现分支逻辑。

持久化

LangGraph 内置了持久化功能,这意味着图的状态可以在每次执行后自动保存。这允许你创建能够从上次中断的地方继续执行的应用程序,这对于长时间运行的任务或需要与人交互的智能体至关重要。

为什么选择 LangGraph?

虽然 LangChain 表达式语言(LCEL)非常适合构建简单的线性链,但 LangGraph 在以下方面表现出色:
  • 复杂流程:轻松实现循环、条件分支和并行处理。
  • 状态管理:自动持久化和管理复杂状态,无需手动处理。
  • 人机协作:内置支持中断和恢复,允许人在循环中(human-in-the-loop)的工作流。
  • 时间旅行调试:使用 LangSmith,你可以“回退”到图的任何先前状态来调试问题。

快速开始

要开始使用 LangGraph.js,请安装该包:
pip
    pip install langchain-aws
然后,你可以创建一个简单的图:
uv
    uv add langchain-aws
这个简单的示例创建了一个包含两个节点的图:agenttoolsagent 节点调用一个语言模型,tools 节点执行工具调用。条件边根据智能体的输出决定是调用工具还是结束流程。

下一步

  • 查看 URL_0 了解更多示例。
  • 阅读 URL_1 了解核心概念。
  • 探索 URL_2 了解如何使用 LangGraph 构建智能体。
以编程方式连接这些文档 到 Claude、VSCode 等,通过 MCP 获取实时答案。