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。

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

相关推荐
不开大的凯207716 小时前
AI权力游戏:同一天,两种答案,一场算力暗战
大数据·人工智能·ai·ai office
全栈练习生17 小时前
模型上下文协议(MCP)
python·ai
木圭的AI时代指南17 小时前
EmbeddingGemma 2 图片检索实测:3 款多模态向量模型在无显卡 Ubuntu 上的完整账本
ai·本地部署·向量模型·图片检索
JPower_mr.g17 小时前
SmartCall 音色管理技术解析:基于 SPI 的可扩展音色注册架构
java·开发语言·人工智能·ai·架构·开源
云卷云舒___________17 小时前
Gemini 4-Flash曝光?Argon现身Antigravity?Carbon新检查点?Ultra模式齐亮相? 谷歌憋大招!| 10月10日 AI日报
ai·谷歌·gemini·ai日报·aistudio·antigravity·gemini4
七夜zippoe17 小时前
Agent 中间件架构:钩子链、插件注册与横切治理
ai·中间件·架构·agent·钩子链
容小智18 小时前
金融投研引入工作智能体(Agent):如何穿透概念核算真实商业价值?
大数据·人工智能·ai·金融·agent
玩AI的奶茶18 小时前
24GB 显存能跑多大的模型?参数量、精度与显存占用对照表
人工智能·python·算法·ai·aigc·gpu算力·算力租赁
HUIBUR科技20 小时前
AI重塑企业数字化:从系统建设到价值盘活的全新变革
人工智能·ai
骑着蜗牛撵大象32720 小时前
边听边答的底层逻辑:实时语音对话的延迟拆解与流水线设计
ai·对话系统·tts·低延迟·流式asr