当前位置: 首页 > news >正文

SpringAi 会话记忆功能

在使用chatGPT,豆包等产品后,就会发现他们的会话有“记忆”功能。
那么我们用API接口的话,这个是怎么实现的呢?
属于比较粗暴的方式,把之前的内容与新的提示词一起再次发给大模型。让我们看到他们有记忆功能。
下面介绍deepseek通过spring ai接入的时候实现记忆功能

一:定义会话存储方式

 @Bean
    public ChatMemory chatMemory(){
        return new InMemoryChatMemory();
    }

ChatMemory 接口中,有如下方法:
在这里插入图片描述
以上是springAi中通过内存的实现方式实现如下接口。

二:配置会话记忆Advisor

    @Bean
    public ChatClient chatClient(OllamaChatModel chatModel,ChatMemory chatMemory){
        return   ChatClient
                .builder(chatModel)
                .defaultAdvisors(new SimpleLoggerAdvisor(),
                        new MessageChatMemoryAdvisor(chatMemory))
                .build();
    }

三:添加会话id
如ChatMemory接口,有个conversationId;即会话id,每次会话的时候,通过前端区分这个会话id。
在这里插入图片描述
上述方式即实现了会话记忆方案。

相关文章:

  • Linux扩展名相关知识
  • 信息安全管理与评估广东省2023省赛正式赛题
  • Python中数值计算、表格处理和可视化的应用
  • React基础知识一
  • 【项目管理】第13章 项目资源管理-- 知识点整理
  • 【github】github不能访问了,Access to this site has been restricted.
  • 反序列化漏洞介绍与挖掘指南
  • 拜特科技签约惠生工程,携手打造高效资金管理系统
  • FTXUI 笔记(五)——基本交互组件
  • redission锁释放失败处理
  • 2025阿里云AI 应用-AI Agent 开发新范式-MCP最佳实践-78页.pptx
  • 利用 Genspark 和 AI IDE 一键配置 Java 开发环境
  • java异常 与 泛型<T>
  • 使用python获取电脑硬盘信息
  • GO语言-数据类型
  • 一种基于学习的多尺度方法及其在非弹性碰撞问题中的应用
  • 单双线程的理解 和 lua基础语法
  • C语言中冒泡排序和快速排序的区别
  • 输出流-----超级详细的在程序中向文件.txt中写入内容
  • 【挠头写算法系列】质疑分治,理解分治,到分治真香
  • 今年前4个月上海对拉美国家进出口总值增长2%
  • 第1现场 | 美国称将取消制裁,对叙利亚意味着什么
  • 日本航空自卫队一架练习机在爱知县坠毁
  • 哲学新书联合书单|远离苏格拉底
  • 人民日报访巴西总统卢拉:“巴中关系正处于历史最好时期”
  • 人大新闻教育70年丨16759门课程里的时代密码