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。

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

相关推荐
蒲公英eric5 小时前
从页面检查到功能验证:DVWA 授权绕过模块完整漏洞分析教程
web安全·ai·ctf·dvwa·ai安全·授权绕过模块
AI老陈说6 小时前
Nano Banana 2 AI 角色一致性怎么保持?Flux Art 同一角色换动作与版本管理
ai·ai工具·ai生图
三声三视9 小时前
审计清单函数名写成 def?tri-checklist 的 diff 解析在 Python 改名场景下悄悄翻车
人工智能·ai·skillhub·tri-checklist·tri-skills
VIP_CQCRE10 小时前
用 Ace Data Cloud 接入 Kling Motion:让 AI 视频生成从“好看”走向“可控”
ai·api·视频生成·kling·acedatacloud
打破砂锅问到底00710 小时前
115 行把 Qwen3-8B 跑进浏览器:WebLLM 本地推理实战
人工智能·ai·llm
TechEdu20260613 小时前
[人工智能]AI芯片家族:英伟达、AMD、英特尔、高通与华为
人工智能·ai
尘中远15 小时前
给C++工业软件搭建 Agent
开发语言·c++·qt·ai·agent
tachibana216 小时前
复杂的 RAG 范式
数据库·人工智能·ai·大模型·agent
RobinDevNotes16 小时前
RoCEv2如何扛起大模型训练网络
linux·网络·ai·网络linux
ai小陈16 小时前
CUDA版本不匹配怎么办?深度学习GPU环境排查与修复指南
人工智能·深度学习·ai·gpu算力