本页涵盖 LangChain 与 Amazon Web Services (AWS) 平台的所有集成。

聊天模型

Bedrock chat

Amazon Bedrock 是一项完全托管的服务,可通过单一 API 提供来自 AI21 LabsAnthropicCohereMetaStability AIAmazon 等领先 AI 公司的多种高性能基础模型 (FM),同时提供一整套能力,帮助你 构建具备安全性、隐私保护和负责任 AI 特性的生成式 AI 应用。使用 Amazon Bedrock, 你可以轻松试验和评估适合自身用例的顶级 FM,通过微调和 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

LLMs

Bedrock

请参阅使用示例
from langchain_aws import BedrockLLM

SageMaker endpoint

Amazon SageMaker 是一个可以使用完全托管的基础设施、工具和工作流来构建、训练和部署 机器学习 (ML) 模型的系统。
我们使用 SageMaker 托管模型,并将其作为 SageMaker Endpoint 暴露出来。 请参阅使用示例
from langchain_aws import SagemakerEndpoint

嵌入模型

Bedrock

请参阅使用示例
from langchain_aws import BedrockEmbeddings

文档加载器

Amazon DocumentDB 向量搜索

Amazon DocumentDB (with MongoDB Compatibility) 让你可以轻松地在云中设置、运行和扩展与 MongoDB 兼容的数据库。 借助 Amazon DocumentDB,你可以运行相同的应用程序代码,并使用与 MongoDB 相同的驱动程序和工具。 Amazon DocumentDB 的向量搜索将基于 JSON 的文档数据库的灵活性和丰富查询能力,与向量搜索的强大能力结合起来。

安装和设置

请参阅详细配置说明 我们需要安装 pymongo Python 包。
pip install pymongo

在 AWS 上部署 DocumentDB

Amazon DocumentDB (with MongoDB Compatibility) 是一项快速、可靠且完全托管的数据库服务。Amazon DocumentDB 让你可以轻松地在云中设置、运行和扩展与 MongoDB 兼容的数据库。 AWS 提供计算、数据库、存储、分析以及其他功能服务。有关所有 AWS 服务的概览,请参阅 Cloud Computing with Amazon Web Services 请参阅使用示例
from langchain.vectorstores.documentdb 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,
        )
请参阅使用示例

Valkey

Valkey 是一个开源、高性能的键/值数据存储,支持缓存、消息队列等工作负载,也可以作为主数据库使用。使用 ValkeyVectorStore 连接 Amazon ElastiCache for ValkeyAmazon MemoryDB for Valkey
from langchain_aws.vectorstores import ValkeyVectorStore
请参阅使用示例

检索器

Amazon Bedrock(知识库)

Knowledge bases for Amazon BedrockAmazon 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
请参阅使用示例

Amazon Bedrock AgentCore Browser

Amazon Bedrock AgentCore Browser 使智能体能够通过托管的 Chrome 浏览器与网页交互,用于导航、内容提取和 Web 自动化。
pip install langchain-aws bedrock-agentcore playwright beautifulsoup4
请参阅使用示例
from langchain_aws.tools import create_browser_toolkit

# 创建工具包
toolkit, browser_tools = create_browser_toolkit(region="us-west-2")

# 与智能体一起使用
agent = create_react_agent(model=llm, tools=browser_tools)
result = await agent.ainvoke(
    {"messages": [{"role": "user", "content": "访问 example.com 并获取标题"}]},
    config={"configurable": {"thread_id": "session-1"}}
)

# 完成后清理
await toolkit.cleanup()

Amazon Bedrock AgentCore Code Interpreter

Amazon Bedrock AgentCore Code Interpreter 使智能体能够在安全、托管的沙箱环境中执行 Python、JavaScript 和 TypeScript 代码,用于计算、数据分析和可视化。
pip install langchain-aws bedrock-agentcore
请参阅使用示例
from langchain_aws.tools import create_code_interpreter_toolkit

# 创建工具包(异步)
toolkit, code_tools = await create_code_interpreter_toolkit(region="us-west-2")

# 与智能体一起使用
agent = create_react_agent(model=llm, tools=code_tools)
result = await agent.ainvoke(
    {"messages": [{"role": "user", "content": "计算 10 的阶乘"}]},
    config={"configurable": {"thread_id": "session-1"}}
)

# 完成后清理
await toolkit.cleanup()

沙箱

AgentCoreSandbox

用于 deepagents 的 Amazon Bedrock AgentCore Code Interpreter 沙箱后端。

Amazon neptune

Amazon Neptune 是一个高性能的图分析和无服务器数据库,具备出色的可扩展性和可用性。
对于下面的 Cypher 和 SPARQL 集成,我们需要安装 langchain-aws 库。
pip install langchain-aws

使用 cypher 的 Amazon neptune

请参阅使用示例
from langchain_aws.graphs import NeptuneGraph
from langchain_aws.graphs import NeptuneAnalyticsGraph
from langchain_aws.chains import create_neptune_opencypher_qa_chain

使用 SPARQL 的 Amazon neptune

from langchain_aws.graphs import NeptuneRdfGraph
from langchain_aws.chains import create_neptune_sparql_qa_chain

内存

Amazon Bedrock AgentCore Memory

Amazon Bedrock AgentCore Memory 为 LangGraph 智能体提供 托管持久化能力,使其能够跨会话管理对话历史和状态,并具备自动扩展和高可用性。
pip install langgraph-checkpoint-aws
from langgraph_checkpoint_aws import AgentCoreMemorySaver

# 创建检查点保存器
checkpointer = AgentCoreMemorySaver(
    memory_id="your-memory-id",
    region_name="us-west-2"
)

# 与 LangGraph 一起使用
graph = workflow.compile(checkpointer=checkpointer)

# 使用 thread_id 和 actor_id 实现对话持久化
config = {
    "configurable": {
        "thread_id": "user-123",
        "actor_id": "my-agent"  # AgentCore 必需
    }
}
result = graph.invoke({"messages": []}, config)
主要特性:
  • 托管基础设施,无需设置数据库
  • 自动扩展和高可用性
  • 通过 actor_id 隔离支持多智能体
  • 静态和传输中加密

Amazon Bedrock AgentCore Memory Store

Amazon Bedrock AgentCore Memory Store 为 LangGraph 智能体提供 具备语义搜索能力的长期记忆,使其能够跨会话存储和检索用户偏好、事实以及提取出的记忆。
from langgraph_checkpoint_aws import AgentCoreMemoryStore

# 初始化用于长期记忆的存储
store = AgentCoreMemoryStore(memory_id="your-memory-id", region_name="us-west-2")

# 在 pre-model hook 中使用以保存和检索记忆
def pre_model_hook(state, config, *, store):
    actor_id = config["configurable"]["actor_id"]
    thread_id = config["configurable"]["thread_id"]
    namespace = (actor_id, thread_id)

    # 保存一条消息
    store.put(namespace, str(uuid.uuid4()), {"message": msg})

    # 搜索相关记忆
    results = store.search(("preferences", actor_id), query="用户偏好", limit=5)
    return {"model_input_messages": state["messages"]}

Amazon Comprehend 审核链

Amazon Comprehend 是一项自然语言处理 (NLP) 服务, 使用机器学习来发现文本中有价值的见解和联系。
我们需要安装 boto3nltk 库。
pip install boto3 nltk
请参阅使用示例
The langchain-experimental package is no longer maintained. Examples that import from langchain_experimental may be outdated or broken. Use with caution.
from langchain_experimental.comprehend_moderation import AmazonComprehendModerationChain

运行时

Amazon Bedrock AgentCore Runtime

Amazon Bedrock AgentCore Runtime 为 LangGraph 智能体提供 托管的无服务器执行能力,内置可观测性、自动扩展,并可与其他 AgentCore 服务无缝集成。
pip install bedrock-agentcore
from bedrock_agentcore.runtime import BedrockAgentCoreApp

app = BedrockAgentCoreApp()

@app.entrypoint
def agent_invocation(payload, context):
    result = graph.invoke({"messages": [{"role": "user", "content": payload["prompt"]}]})
    return {"result": result["messages"][-1].content}

app.run()
使用 AgentCore CLI 进行部署:
# Configure your agent
agentcore configure

# Deploy to AgentCore Runtime
agentcore launch -e your_agent.py