Skip to content
LangChain 文档版本 跟随上游 源快照 2d83abef 更新于 2026-10-08

AWS (Amazon) 集成

使用 LangChain Python 与 AWS (Amazon) 集成。

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

聊天模型

Bedrock Mantle

The AWS Bedrock Mantle API 通过 OpenAI 和 Anthropic Messages 协议暴露模型。ChatOpenAIMantle 和 ChatAnthropicMantle 是访问这些模型的推荐接口。

这两个类都可通过 bedrock_api_key 参数或 AWS_BEARER_TOKEN_BEDROCK 环境变量接受 Bedrock API 密钥。当两者都不可用时,两者都会从标准 AWS 凭证派生短期 API 密钥并透明地刷新它们。

ChatOpenAIMantle 继承自 BaseChatOpenAI。使用示例和功能参见对应的 Responses API 文档。支持的模型请参阅 AWS Mantle OpenAI 兼容 API 文档。

ChatAnthropicMantle 继承自 ChatAnthropic,并面向 Mantle 上的 Anthropic Messages 端点。使用示例和功能参见 ChatAnthropic 文档。支持的模型请参阅 AWS Mantle Anthropic API 文档。

python
from langchain_aws import ChatOpenAIMantle, ChatAnthropicMantle

openai_model = ChatOpenAIMantle(
    model="openai.gpt-5.6-luna",
    region_name="us-east-1",
)

anthropic_model = ChatAnthropicMantle(
    model="anthropic.claude-opus-5-5",
    region_name="us-east-1",
)

Bedrock Converse

Amazon Bedrock 是一项完全托管的服务,提供来自领先 AI 公司的高性能 基础模型(FM)供你选择,这些公司包括 AI21 Labs、Anthropic、Cohere、 Meta、OpenAI、Stability AI 和 Amazon,均通过单一 API 访问。由于 Amazon Bedrock 是 无服务器的,你无需管理任何基础设施,还可以安全地将生成式 AI 能力集成并部署 到你的应用中,并使用你已经熟悉的 AWS 服务。

AWS Bedrock 维护了一个 Converse API 它为基础模型提供统一的对话式接口。你可以查看所有 此处受支持的模型。

查看使用示例。

python
from langchain_aws import ChatBedrockConverse

嵌入模型

Bedrock

查看使用示例。

python
from langchain_aws import BedrockEmbeddings

文档加载器

Amazon MemoryDB

Amazon MemoryDB 是一项持久化的内存数据库服务,可提供超快的性能。MemoryDB 与 Redis OSS(一个流行的开源数据存储)兼容, 让你能够使用现有的同样灵活友好的 Redis OSS API 和命令快速构建应用程序。

InMemoryVectorStore 类提供了一个向量存储,用于连接 Amazon MemoryDB。

python
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 Valkey 或 Amazon MemoryDB for Valkey。

python
from langchain_aws.vectorstores import ValkeyVectorStore

查看使用示例。

检索器

Amazon Bedrock(知识库)

Knowledge bases for Amazon Bedrock 是一项 Amazon Web Services (AWS) 服务,让你可以通过使用自己的 私有数据来定制基础模型的响应,从而快速构建 RAG 应用。

我们需要安装 langchain-aws 库。

bash
pip install langchain-aws
bash
uv add langchain-aws

查看使用示例。

python
from langchain_aws import AmazonKnowledgeBasesRetriever

工具

Amazon Bedrock AgentCore Browser

Amazon Bedrock AgentCore Browser 使智能体能够通过托管的 Chrome 浏览器与网页交互,用于导航、内容提取和网页自动化。

bash
pip install langchain-aws bedrock-agentcore playwright beautifulsoup4
bash
uv add langchain-aws bedrock-agentcore playwright beautifulsoup4

查看使用示例。

python
from langchain.agents import create_agent
from langchain_aws.tools import create_browser_toolkit

# Create toolkit
toolkit, browser_tools = create_browser_toolkit(region="us-west-2")

# Use with an agent
agent = create_agent(model=llm, tools=browser_tools)
result = await agent.ainvoke(
    {"messages": [{"role": "user", "content": "Go to example.com and get the heading"}]},
    config={"configurable": {"thread_id": "session-1"}}
)

# Cleanup when done
await toolkit.cleanup()

Amazon Bedrock AgentCore Code Interpreter

Amazon Bedrock AgentCore Code Interpreter 使智能体能够在安全、托管的沙箱环境中执行 Python、JavaScript 和 TypeScript 代码,用于计算、数据分析和可视化。

bash
pip install langchain-aws bedrock-agentcore
bash
uv add langchain-aws bedrock-agentcore

查看使用示例。

python
from langchain.agents import create_agent
from langchain_aws.tools import create_code_interpreter_toolkit

# Create toolkit (async)
toolkit, code_tools = await create_code_interpreter_toolkit(region="us-west-2")

# Use with an agent
agent = create_agent(model=llm, tools=code_tools)
result = await agent.ainvoke(
    {"messages": [{"role": "user", "content": "Calculate factorial of 10"}]},
    config={"configurable": {"thread_id": "session-1"}}
)

# Cleanup when done
await toolkit.cleanup()

Amazon Bedrock AgentCore Web Search 为智能体提供来自网络的实时信息,每条结果都带有来源 URL,并使用你的 AWS 凭证而非搜索 API 密钥进行身份认证。

bash
pip install langchain-aws bedrock-agentcore
bash
uv add langchain-aws bedrock-agentcore

查看使用示例。

python
from langchain.agents import create_agent
from langchain_aws.tools import create_web_search_toolkit

# Needs a gateway with a web search connector target. The factory is synchronous.
toolkit, tools = create_web_search_toolkit(
    region="us-east-1",
    gateway_id="my-web-search-gateway-abc123",
)

try:
    agent = create_agent(model=llm, tools=tools)
    result = agent.invoke(
        {"messages": [{"role": "user", "content": "What changed in the most recent boto3 release?"}]}
    )
finally:
    toolkit.close()

沙箱

图

Amazon neptune

Amazon Neptune 是一个高性能的图分析和无服务器数据库,可提供卓越的可扩展性和可用性。

对于下面的 Cypher 和 SPARQL 集成,我们需要安装 langchain-aws 库。

bash
pip install langchain-aws
bash
uv add langchain-aws

Amazon neptune with cypher

查看使用示例。

python
from langchain_aws.graphs import NeptuneGraph
from langchain_aws.graphs import NeptuneAnalyticsGraph
from langchain_aws.chains import create_neptune_opencypher_qa_chain

Amazon neptune with SPARQL

python
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 智能体提供 托管的持久化能力,支持跨会话的对话历史记录和状态管理,并具备自动扩缩容和高可用性。

bash
pip install langgraph-checkpoint-aws
bash
uv add langgraph-checkpoint-aws
python
from langgraph_checkpoint_aws import AgentCoreMemorySaver

# Create checkpointer
checkpointer = AgentCoreMemorySaver(
    memory_id="your-memory-id",
    region_name="us-west-2"
)

# Use with LangGraph
graph = workflow.compile(checkpointer=checkpointer)

# Invoke with thread_id and actor_id for conversation persistence
config = {
    "configurable": {
        "thread_id": "user-123",
        "actor_id": "my-agent"  # Required for AgentCore
    }
}
result = graph.invoke({"messages": []}, config)

主要特性:

  • 托管基础设施,无需设置数据库
  • 自动扩缩容和高可用性
  • 通过 actor_id 隔离实现多智能体支持
  • 静态和传输中加密

Amazon Bedrock AgentCore Memory Store

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

python
from langgraph_checkpoint_aws import AgentCoreMemoryStore

# Initialize store for long-term memories
store = AgentCoreMemoryStore(memory_id="your-memory-id", region_name="us-west-2")

# Use in a pre-model hook to save and retrieve memories
def pre_model_hook(state, config, *, store):
    actor_id = config["configurable"]["actor_id"]
    thread_id = config["configurable"]["thread_id"]
    namespace = (actor_id, thread_id)

    # Save a message
    store.put(namespace, str(uuid.uuid4()), {"message": msg})

    # Search for relevant memories
    results = store.search(("preferences", actor_id), query="user preferences", limit=5)
    return {"model_input_messages": state["messages"]}

Chains

Amazon Comprehend 审核链

Amazon Comprehend 是一项自然语言处理(NLP)服务, 它使用机器学习来发掘文本中有价值的见解和联系。

我们需要安装 boto3 和 nltk 库。

bash
pip install boto3 nltk
bash
uv add boto3 nltk

查看使用示例。

WARNING

langchain-experimental 包已不再维护。从 langchain_experimental 导入的示例可能已过时或无法正常工作。请谨慎使用。

python
from langchain_experimental.comprehend_moderation import AmazonComprehendModerationChain

运行时

Amazon Bedrock AgentCore Runtime

Amazon Bedrock AgentCore Runtime 为 LangGraph 智能体提供 托管的无服务器执行环境,内置可观测性、自动扩缩容,并与其他 AgentCore 服务无缝集成。

bash
pip install bedrock-agentcore
bash
uv add bedrock-agentcore
python
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 进行部署:

bash
# Configure your agent
agentcore configure

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

BytesRouter 是社区翻译站点,所有译文仅供参考,一切以官方英文原文为准。