Spring AI开发指导-对话存储

Spring AI

Spring AI开发框架提供对接应用与AI模型的集成开发能力,让开发者更加容易地开发智能体以及其他生成式人工智能的应用:

对话存储

AI模型由固定的算法与数据构成,AI模型对外提供的服务是无状态的,对话会话的消息内容的存储功能需要由应用层提供,Spring AI开发框架提供对话会话的消息内容存储的支撑能力,业务流程:

对话存储接口描述

接口ChatMemory是Spring AI开发框架提供的可扩展组件Advisor的对话会话消息存储的接口,该接口提供对话存储的读写服务,对话存储的实现类都需要实现该接口:

接口ChatMemory的继承实现的抽象具体关系:

Spring AI开发框架提供的接口ChatMemory的实现类MessageWindowChatMemory,该实现类提供的功能是默认存储最新的20条对话会话消息:

在Spring AI应用工程的Maven依赖库配置文件中,引入对话存储的对接持久化存储的组件:

接口ChatMemoryRepository是Spring AI开发框架提供的对话存储的对接内存存储或者数据库存储的接口,对接内存存储或者数据库存储的实现类都需要实现该接口:

接口ChatMemoryRepository的继承实现的抽象具体关系:

Spring AI开发框架提供的接口ChatMemoryRepository的实现类InMemoryChatMemoryRepository,该实现类提供的功能是对话会话消息存储在内存中:

Spring AI开发框架提供的接口ChatMemoryRepository的实现类JdbcChatMemoryRepository,该实现类提供的功能是对话会话消息存储在数据库中:

Spring AI应用启动初始化对话客户端时,自动绑定对话存储的实例:

相关推荐
古法老登瞎折腾8 小时前
大数据智能运维实战(一):机器和任务数据都有了,如何用 MCP 搭建运维助手?
大数据·运维·spring boot·spring ai·mcp
OxYGC13 小时前
玩转 Spring AI 第二篇:RAG 落地——Redis 向量库、按空行切分的自定义 Splitter,和 pom 里两个“引而未用“的依赖
向量检索·rag·spring ai·redis stack
古法老登瞎折腾2 天前
大数据智能运维实战(二):准备一个可复现的运维实验环境
java·大数据·运维·spring ai·mcp
光依旧3 天前
MCP实战手记(十一):MCP接飞书,从机器人到事件订阅的三层深度接入
websocket·事件驱动架构·大模型应用开发·spring ai·企业系统集成·mcp·飞书开放平台
RuoyiOffice3 天前
Spring AI+Vue3 企业知识库设计:让每个答案有依据,让每份资料守住权限
java·spring boot·vue3·rag·企业知识库·spring ai·ruoyi office
做个文艺程序员4 天前
MQ第10篇:RAG与消息队列实战:Java构建AI客服系统的检索增强生成完整架构
人工智能·架构·rocketmq·向量数据库·rag·ai客服·spring ai
码哥字节7 天前
给 Agent 加了 Redis 还是跨会话失忆,我排查后发现少了一层
spring ai·agent skills
guslegend7 天前
工程地基、Provider 与 ReAct 循环:Agent 核心能力的设计、实现与验收
人工智能·agent·react·架构设计·spring ai
海南java第二人7 天前
Spring AI 拦截器实现 RAG 检索的两种方式
spring ai
南归北隐7 天前
Spring AI Alibaba Graph框架实现RAG私有知识库问答
java·后端·spring·spring ai·java rag实现