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

使用 MongoDB Atlas 的短期记忆

使用 MongoDBSaver 和 MongoDB Atlas 持久化智能体的短期记忆。

短期记忆让你的智能体能够在单个线程或对话中记住之前的交互。本指南展示如何使用 MongoDB Atlas 作为持久化检查点器后端。

MongoDB 将对话状态作为文档存储在集合中,因此线程可以在进程重启和部署后恢复。

TIP

需要在跨对话之间记住信息?使用使用 MongoDB Atlas 的长期记忆来跨不同线程和会话存储并回忆数据。

设置

安装

bash
pip install -U langgraph-checkpoint-mongodb pymongo
bash
uv add langgraph-checkpoint-mongodb pymongo

凭据

设置你的 Atlas 连接字符串:

python
import getpass
import os

if not os.environ.get("MONGODB_ATLAS_URI"):
    os.environ["MONGODB_ATLAS_URI"] = getpass.getpass("Enter your MongoDB Atlas URI: ")

如果你希望对模型调用进行自动追踪,请设置你的 LangSmith API 密钥:

python
if not os.environ.get("LANGSMITH_API_KEY"):
    os.environ["LANGSMITH_API_KEY"] = getpass.getpass("Enter your LangSmith API key: ")
os.environ["LANGSMITH_TRACING"] = "true"

用量

使用 from_conn_string 创建一个 MongoDBSaver 并将其传给 create_agent。上下文管理器在打开时会创建所需的集合和索引。你无需调用单独的 setup() 方法(不同于 Postgres 检查点器)。

python
import os

from langchain.agents import create_agent
from langgraph.checkpoint.mongodb import MongoDBSaver

def get_user_info() -> str:
    """Look up information about the current user."""
    return "No user profile on file."

MONGODB_ATLAS_URI = os.environ["MONGODB_ATLAS_URI"]

with MongoDBSaver.from_conn_string(MONGODB_ATLAS_URI) as checkpointer:
    agent = create_agent(
        "anthropic:claude-sonnet-4-6",
        tools=[get_user_info],
        checkpointer=checkpointer,
    )

    thread_config = {"configurable": {"thread_id": "1"}}
    response = agent.invoke(
        {"messages": [{"role": "user", "content": "Hi! My name is Bob."}]},
        thread_config,
    )["messages"][-1].content

    print(response)

    response = agent.invoke(
        {"messages": [{"role": "user", "content": "What's my name?"}]},
        thread_config,
    )["messages"][-1].content

    print(response)

MongoDBSaver 还公开了 aget 和 aput 等异步方法,供在异步图中使用。没有单独的 AsyncMongoDBSaver 类。

后续步骤


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