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。

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

相关推荐
SEO_juper19 小时前
2026谷歌从 0 到 1 搭建「SEO 骨架 + GEO 血肉」的网站结构
ai·谷歌·seo·geo·独立站·2026·跨境电商推广
zs宝来了20 小时前
MLflow 模型管理:实验跟踪与模型注册
机器学习·ai·基础设施
gao_tjie20 小时前
Producer 上传参考音频 API 集成指南
ai
多年小白21 小时前
DeepSeek V4 全面换装华为昇腾 950PR
网络·人工智能·科技·深度学习·ai
聆风吟º21 小时前
从“命令盲区”到“随查随用”:我用Nexent搭了一个Linux知识库助手
linux·ai·智能体·nexent
MicrosoftReactor21 小时前
技术速递|GitHub Copilot CLI 结合多模型能力提供“第二视角”
ai·github·copilot
marsh020621 小时前
35 openclawCQRS模式应用:分离读写操作提升性能
运维·ai·jenkins·编程·技术
一个小浪吴啊21 小时前
Linux/Mac Hermes Agent部署教程
linux·运维·macos·ai·ai编程
企业架构师老王21 小时前
2026年国内AI Agent选型指南:企业数字化转型中的非侵入式架构方案深度评测
人工智能·ai·架构
marsh02061 天前
34 openclaw事件溯源:实现可追溯的业务流程
数据库·ai·编程·技术