🧠 什么是 Memory?
Memory 让 LLM 能够记住之前的对话内容,实现多轮对话和上下文保持。
📝 Memory 类型
💬 使用示例
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 - 文档数据库