You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将Langchain后端ConversationSummaryMemory传递至前端以持久化会话记忆?

解决Langchain ConversationSummaryMemory会话持久化问题

核心逻辑

既然你已经配置好ConversationSummaryMemory,核心就是把会话摘要作为返回JSON的一部分传给前端,前端每次请求时再把这个摘要回传给后端,让Memory复用历史会话上下文。

具体实现步骤

1. 后端修改:把会话摘要加入返回结果

在Agent处理完用户请求后,从Memory中提取当前会话摘要,和回复消息一起打包成JSON返回。

示例代码(适配你的仓库逻辑):

# 假设已初始化agent和memory
response = agent.run(user_input)
# 提取会话摘要
conversation_summary = memory.load_memory_variables({})['history']
# 构造返回的JSON
return {
    "message": response,
    "conversation_summary": conversation_summary
}

2. 前端修改:携带会话摘要发起请求

前端每次发聊天请求时,除了用户消息,还要带上之前保存的会话摘要,请求完成后保存新的摘要。

示例代码:

async function sendChat(userMsg) {
    // 从本地存储获取之前保存的会话摘要
    const savedSummary = localStorage.getItem('chatConversationSummary') || "";
    const res = await fetch('/your-backend-api', {
        method: 'POST',
        headers: { 'Content-Type': 'application/json' },
        body: JSON.stringify({
            message: userMsg,
            conversation_summary: savedSummary
        })
    });
    const data = await res.json();
    // 保存新的会话摘要到本地
    localStorage.setItem('chatConversationSummary', data.conversation_summary);
    return data.message;
}

3. 后端接收摘要:注入Memory复用上下文

后端接收到前端传来的会话摘要后,将其注入ConversationSummaryMemory,让Agent基于历史上下文处理新请求。

示例代码:

# 从请求体获取用户消息和会话摘要
user_input = request.json.get('message')
received_summary = request.json.get('conversation_summary', "")

# 初始化Memory时传入历史摘要
memory = ConversationSummaryMemory(
    llm=your_llm_instance,
    memory_key="history",
    input_key="input",
    initial_summary=received_summary  # 关键:传入前端传回的历史摘要
)

# 绑定Memory到Agent
agent = initialize_agent(
    tools=your_tools_list,
    llm=your_llm_instance,
    agent=AgentType.CONVERSATIONAL_REACT_DESCRIPTION,
    memory=memory,
    verbose=True
)

# 运行Agent并返回包含新摘要的结果

注意事项

  • 确保ConversationSummaryMemory的memory_key和Agent配置中的一致,比如示例里的"history"。
  • 多用户场景下,要给每个用户的会话摘要加唯一标识(如用户ID),避免上下文混淆。
  • 前端存储摘要时,可根据需求选择localStorage(持久化)或会话存储(临时保存)。

内容的提问来源于stack exchange,提问作者Mark Peace

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.02 02:25:04