给AI装“记忆U盘“:LangChain记忆持久化入门指南

🧠 什么是记忆持久化?

想象AI对话就像和朋友聊天:

  • 普通模式:每次重启都忘记之前聊过什么
  • 持久化模式:给AI配了个"记忆U盘",聊天记录永不丢失

核心组件三件套

记忆组件
chat_memory
外部数据库
实现长期记忆

🔧 三步实现记忆存档

以ConversationSummaryBufferMemory为例:

  • 步骤一:准备"记忆笔记本"
from langchain.memory import ConversationSummaryBufferMemory# 创建带持久化的记忆组件
memory = ConversationSummaryBufferMemory(chat_memory=RedisChatMessageHistory()  # 使用Redis作为"笔记本"
)

步骤二:记录关键信息

存储内容作用说明类比现实
完整对话历史保留原始聊天记录录音笔功能
动态摘要提炼对话重点会议纪要
上下文关联保持话题连贯性书签功能

步骤三:随时读取记忆

# 读取上次对话
last_chat = memory.load_memory_variables({})
print(f"上次聊到:{last_chat['summary']}")

支持哪些"记忆U盘"?

存储类型适合场景性能特点新手推荐指数
Redis高频快速访问内存级速度⭐⭐⭐⭐⭐
SQLite本地简单存储轻量易用⭐⭐⭐⭐
PostgreSQL企业级复杂数据功能全面⭐⭐⭐
MongoDB非结构化数据存储灵活扩展⭐⭐⭐⭐

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/73619.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

JumpServer:一款企业级开源堡垒机

在数字化运维时代,如何高效、安全地管控企业内部资产?JumpServer 作为一款完全开源的堡垒机,凭借其强大的 4A(身份认证、授权控制、账号管理、安全审计)能力与灵活的架构设计,实现事前授权、事中监察、事后…

LangChain + PostgreSQL 实现向量数据库与 RAG 搜索

1. 环境准备 安装必要的库 pip install langchain psycopg2-binary pgvector langchain-openai安装并配置 PostgreSQL 安装 PostgreSQL 确保 PostgreSQL 已正确安装并运行。你可以根据操作系统的不同参考官方文档进行安装。 创建数据库 创建一个新的数据库(例如 …

STM32硬件IIC与OLED使用

OLED屏幕介绍 OLED即有机发光管(Organic Light-Emitting Diode,OLED)。OLED显示技术具有自发光、广视角、几乎无穷高的对比度、较低功耗、极高反应速度、可用于绕曲性面板、使用温度范围广、构造及制程简单等有点,被认为是下一代的平面显示屏新兴应用技术 OLED显示…

idea自动生成注释

idea 自动生成注释 1 创建类时,自动生成注释 模板代码如下 /** * program: ${PROJECT_NAME} * * description: ${description} * * author: yun * * create: ${YEAR}-${MONTH}-${DAY} ${HOUR}:${MINUTE} **/ 2 在方法上使用快捷键生成注释 先新建一个…

doris:恢复

前提条件​ 确保您拥有管理员权限以执行恢复操作。确保您有一个有效的备份快照可供恢复,请参考备份。 1. 获取快照的备份时间戳​ 以下 SQL 语句可用于查看名为example_repo的 Repository 中的现有备份。 mysql> SHOW SNAPSHOT ON example_repo; -----------…

可视化图解算法:删除有序(排序)链表中重复的元素-II

1. 题目 描述 给出一个升序排序的链表,删除链表中的所有重复出现的元素,只保留原链表中只出现一次的元素。 例如: 给出的链表为1→2→3→3→4→4→5, 返回1→2→5. 给出的链表为1→1→1→2→3 返回2→3. 数据范围:链表长度 0≤…

【leetcode刷题日记】lc.53-最大子数组和

目录 1.题目 2.代码 1.题目 给你一个整数数组 nums ,请你找出一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。 子数组是数组中的一个连续部分。 示例 1: 输入:nums [-2,1,-3,4,-…

树莓派超全系列文档--(7)RaspberryOS播放音频和视频

播放音频和视频 播放音频和视频VLC 媒体播放器vlc GUIvlc CLI使用 cvlc 在没有图形用户界面的情况下播放媒体 在 Raspberry Pi OS Lite 上播放音频和视频指定音频输出设备指定视频输出设备同时指定音频和视频输出设备提高数据流播放性能 文章来源: http://raspberr…

算法250327题目

1114: 4006 AB问题 题目描述 给定两个整数A和B,其表示形式是:从个位开始,每三位数用逗号,隔开。 现在请计算AB的结果,并以正常形式输出。 输入 输入包含多组数据,每组数据占一行,由两个整数A和B组成&am…

Wireshark学习

Wireshark简介 抓包前 1.打开wireshark得到下面的界面 2.选择菜单栏上捕获-> 选项,勾选WLAN网卡(这里需要根据各自电脑网卡使用情况选择,简单的办法可以看使用的IP对应的网卡)。点击开始。启动抓包。 3.wireshark启动后&am…

[OS_4] 数学视角 | 多状态 | 模型检查器 | 程序验证(math)

程序 状态机 gdb 单步执行 状态迁移 状态里有什么?gdb 可以打印有一些特殊的状态迁移 硬件 状态机 指令执行 状态迁移 从 CPU Reset 开始执行 FirmwareFirmware 加载操作系统 (程序) 操作系统 状态机 (毫无疑问) 程序是一种真正意义上的 “数学严格” 的…

互联网的“神经中枢”域名根服务器是如何演变的?

互联网如同一条隐形的纽带,将全球数十亿人的生活和工作紧密相连。而在这庞大的网络体系中,域名根服务器则是支撑其平稳运行的“神经中枢”。那么域名根服务器是如何演变的呢? 一、域名根服务器互联网的“地址簿” 想象一下,当你…

【sylar-webserver】6 IO协程调度模块

文章目录 设计知识点 设计 IO协程调度模块,整个项目里最重要的模块~ 和 协程调度模块 相比,增加了 IO 事件的 触发条件。 所以需要重新封装 Event 事件, 通过 epoll_wait 监测触发事件(重新实现了idle),…

6.2、认证主要产品与应用

目录 认证主要产品认证产品主要技术指标认证技术应用认证技术应用 - 校园网应用认证技术应用 - 网络路由认证认证技术应用 - 用户登录设备认证技术应用 - 人脸识别门禁与eID 认证主要产品 应用认证产品主要形态有三种,硬件模式、软件模式和软硬相结合。硬件比如说认…

一套SaaS多租户医疗云his源码,基于云计算的医院信息管理系统(云HIS)

基于云计算的医院信息管理系统(云HIS),通过SaaS服务模式提供。这种云HIS系统设计考虑了模板化、配置化、智能化和可扩展性,覆盖了基层医疗机构的核心工作流程,并且能够与监管系统无缝对接,满足未来的扩展需…

人工智能技术全景图谱:从基础理论到前沿应用

人工智能技术全景图谱:从基础理论到前沿应用 一、AI发展历程与学科体系 1.1 人工智能三大学派 符号主义(Symbolicism) 逻辑推理:一阶谓词逻辑知识表示:语义网络、框架系统 连接主义(Connectionism&#…

基于杜鹃鸟鲶鱼优化(Cuckoo Catfish Optimizer,CCO)算法的多个无人机协同路径规划(可以自定义无人机数量及起始点),MATLAB代码

一、杜鹃鸟鲶鱼优化算法 杜鹃鸟鲶鱼优化(Cuckoo Catfish Optimizer,CCO)算法模拟了杜鹃鸟鲶鱼的搜索、捕食和寄生慈鲷行为。该算法的早期迭代侧重于执行多维包络搜索策略和压缩空间策略,并结合辅助搜索策略来有效限制慈鳔的逃逸空…

FPGA_DDS_IP核

接下来对FPGA的DDS的ip核进行学习。 首先对DDS需要有些了解 DDS信号发生器采用直接数字频率合成(Direct Digital Synthesis,简称DDS)技术,简单来说就是 需要一个系统频率和一个输入的数字数据 ,用这个系统频率计算出…

dbeaver连接mongodb 插入日期变成了字符串

dbeaver插入mongodb数据 日期默认使用ISODate处理,但是插入数据以后实际上是ISODate(2025-03-03T03:25:19.640Z)字符串 INSERT INTO xxx.aaa (_id, chatId, buddyId, pId, lastChatId, inspiration, createTime, modelType, version, selectedInspiration, _class)…

微服务管理 - NACOS学习

为什么了解,工作中会使用这个工具进行微服务管理。 入门介绍: Nacos 是阿里巴巴开源的一款专注于动态服务发现、配置管理和服务管理的平台,主要用于简化云原生应用架构中的微服务开发与运维。它帮助开发者实现服务的自动注册与发现、实时配置…