🧠 什么是 Memory?

Memory 让 LLM 能够记住之前的对话内容,实现多轮对话和上下文保持。

📝 Memory 类型

类型说明适用场景
ConversationBufferMemory保存完整对话短对话
ConversationSummaryMemory摘要压缩长对话
ConversationBufferWindowMemory保留最近 N 轮中等对话
VectorStoreMemory向量存储长期记忆

💬 使用示例

from langchain.memory import ConversationBufferMemory
from langchain.chains import ConversationChain

memory = ConversationBufferMemory()

conversation = ConversationChain(
llm=llm,
memory=memory,
verbose=True
)

conversation.predict(input="你好,我是小明")
conversation.predict(input="我叫什么名字?") # 会记住"小明"

🔄 LangGraph 状态管理

现代推荐方式:使用 LangGraph 的 checkpointer 管理状态

from langgraph.checkpoint.memory import InMemorySaver

checkpointer = InMemorySaver()

agent = create_agent(
model=llm,
tools=tools
)

# 带状态运行
result = agent.invoke(
{"messages": [...]},
config={"configurable": {"thread_id": "user-123"}}
)

💾 持久化存储

  • Redis - 分布式存储
  • PostgreSQL - 关系数据库
  • SQLite - 本地文件
  • MongoDB - 文档数据库
上一页:Agents 代理下一页:RAG 检索增强