惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

美团技术团队
IT之家
IT之家
博客园 - Franky
博客园_首页
The Cloudflare Blog
酷 壳 – CoolShell
酷 壳 – CoolShell
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
量子位
阮一峰的网络日志
阮一峰的网络日志
月光博客
月光博客
V
V2EX
Hugging Face - Blog
Hugging Face - Blog
博客园 - 三生石上(FineUI控件)
M
MIT News - Artificial intelligence
Engineering at Meta
Engineering at Meta
GbyAI
GbyAI
Stack Overflow Blog
Stack Overflow Blog
小众软件
小众软件
Jina AI
Jina AI
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
博客园 - 叶小钗
Apple Machine Learning Research
Apple Machine Learning Research
B
Blog RSS Feed

博客园 - 木乃伊人

MCP Server部署到云端服务器 MCP 开发 VS Code 搭建LangChain开发环境 VSCode Unable to import XXX 问题解决记录 try-catch中的throw和throw ex的区别 TDD Google Chrome 默认非安全端口列表 EF Core的预先加载、延迟加载、实体追踪 同步、异步、回调 软件设计原则 UML类图 Seq Serilog 多线程整理 Vuex和Pinia Vue3+TS+Vite+pinia 枚举 Vite创建Vue3项目 闭包 IdentitySrever4 ElasticSearch 前端防止重复提交案例
大模型应用开发-聊天机器人-保存聊天记录
木乃伊人 · 2026-02-04 · via 博客园 - 木乃伊人

一、简介

在聊天机器人应用中,如果我们要保存聊天记录,不光可以让机器人与用户进行多轮对话,还可以根据聊天记录进行检索。

LangChain中,提供了一个BaseChatMessageHistory父类,专门用于保存聊天记录。默认情况下,LangChain只提供一个基于内存的InMemoryChatMessageHistory来保存聊天记录。 

image

        这种通过内存管理消息记录的方式是不太安全的,应用一旦重启,消息记录就会丢失。故而,LangChain还提供了很多机遇其他存储的扩展依赖。比如可以用MongoDB,PostgreSQL,Mysql,Redis等数据库来保存聊天记录。

具体参考官网:https://python.langchain.com/docs/integration/memory/

以Redis为例,将上面案例中的消息记录保存到Redis中,要做的,只是替换一下history的实现类。

【注意】

Redis也是有很多版本的,常用的社区版本Redis Community Edition版本(即社区版本),只支持做键值对存储,不适用于存储对话,需要再安装一个Redis Stack。

image

 二、使用Redis保存对话

首先安装langchain针对redis的扩展依赖。

image

 然后,替换history的实现。此处部署Redis拂去,过程略过。

image

 运行完成后,就可以再Redis中查询聊天记录。

image