LangGraph 实战指南:长期记忆管理

LangGraph长期记忆管理实战指南

LangGraph为智能对话系统设计了一种独特的“记忆”机制,它包括长期记忆和短期记忆两种类型。

基本信息

  • 模型调用通义千问(阿里Tongyi大模型)
  • 短期记忆:通过维护会话中的消息的历史记录,来跟踪正在进行的对话。短期记忆也称为线程级记忆。
  • 长期记忆:跨会话存储用户特定或应用程序级数据。长期记忆又称为跨线程记忆。

长期记忆就像是一个“记忆仓库”,可以存储用户的各种信息,比如名字、语言偏好、历史对话记录等。这些信息被组织成一个个“记忆单元”,每个单元都有自己的“文件夹”(命名空间)和“文件名”(键)。比如,一个聊天机器人可以为每个用户创建一个独立的命名空间,里面存储着用户的各种偏好信息。

使用 LangGraph 管理长期记忆

通过三个简单的demo例子来看看LangGraph是如何在实际中工作的。

要使用长期记忆,需要:

  • 配置存储以在调用之间保留数据
  • 使用该get_store功能从工具或提示中访问LangSmith商店

1 保存用户信息

首先,初始化一个内存存储,然后定义一个保存用户信息的函数。这个函数会把用户的信息存储到长期记忆中。

把用户的名字“小何慢行”保存到了长期记忆中。

# -*- coding: utf-8 -*-
from langgraph.prebuilt import create_react_agent
from langchain_community.chat_models.tongyi import ChatTongyi
from langchain_core.messages import AnyMessage
from langchain_core.runnables import RunnableConfig
from typing_extensions import TypedDict

from langgraph.store.memory import InMemoryStore
from langgraph.config import get_store


#模型初始化
llm = ChatTongyi(
    model="qwen-turbo",#qwen-max-latest qwen-plus
    temperature=0,
    verbose=True,
    )

# 写入get_store()
store = InMemoryStore() 

class UserInfo(TypedDict): 
    name: str

# 类似于文件夹
user_namespace = "users" 

def save_user_info(user_info: UserInfo, config: RunnableConfig) -> str: 
    """保存用户信息"""

    # 与create_react_agent提供的一样
    store = get_store() 
    user_id = config["configurable"].get("user_id")
    store.put((user_namespace,), user_id, user_info) 
    return 
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小何慢行

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值