SpringAi 会话记忆功能

在使用chatGPT,豆包等产品后,就会发现他们的会话有"记忆"功能。

那么我们用API接口的话,这个是怎么实现的呢?

属于比较粗暴的方式,把之前的内容与新的提示词一起再次发给大模型。让我们看到他们有记忆功能。

下面介绍deepseek通过spring ai接入的时候实现记忆功能

一:定义会话存储方式

java 复制代码
 @Bean
    public ChatMemory chatMemory(){
        return new InMemoryChatMemory();
    }

ChatMemory 接口中,有如下方法:

以上是springAi中通过内存的实现方式实现如下接口。

二:配置会话记忆Advisor

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

三:添加会话id

如ChatMemory接口,有个conversationId;即会话id,每次会话的时候,通过前端区分这个会话id。

上述方式即实现了会话记忆方案。

相关推荐
daidaidaiyu2 小时前
一文入门 LangChain 开发
python·ai
爱笑的眼睛116 小时前
PyTorch Lightning:重新定义深度学习工程实践
java·人工智能·python·ai
BD_Marathon8 小时前
大模型的特点与分类
ai
爱笑的眼睛118 小时前
深入理解MongoDB PyMongo API:从基础到高级实战
java·人工智能·python·ai
考拉悠然科技8 小时前
双榜题名丨考拉悠然以 AI 创新力量,共筑成都产业新高地
ai
大卫小东(Sheldon)8 小时前
公司新来的00后老板让我们把数据库改成PostgreSQL,大家怒了😂
ai·postgre
吴法刚13 小时前
Gemini cli 源码分析之-Gemini CLI 项目启动交互模式startInteractiveUI函数
ai·交互·ai编程·gemini·ai编码
哥布林学者14 小时前
吴恩达深度学习课程三: 结构化机器学习项目 第一周:机器学习策略(二)数据集设置
深度学习·ai
后端小张15 小时前
【AI 学习】从0到1深入理解Agent AI智能体:理论与实践融合指南
人工智能·学习·搜索引擎·ai·agent·agi·ai agent