Spring AI Session:为 Spring AI 应用提供事件溯源式会话记忆与上下文压缩
spring-ai-community/spring-ai-session · Structured, event-sourced conversation memory layer for Spring AI applications.
ELI5:它是什么,解决什么问题
Spring AI Session 是一个 Spring AI 库,为 AI 应用提供结构化、事件溯源的会话管理能力。它把每条消息建模为带身份、时间戳、会话归属和可选分支标签的 SessionEvent,支持在历史过长时按轮次边界触发上下文压缩(compaction),并通过 SessionRepository SPI 在内存、JDBC(PostgreSQL、MySQL、MariaDB、H2)等后端之间切换。配合 SessionMemoryAdvisor 接入 ChatClient 后,调用会自动加载历史、追加消息并在需要时压缩,还包含事件过滤、多智能体分支隔离与跨会话召回等文档主题。
核心能力与快速开始
★ 46 · Java
- 能做什么
- 提供结构化、事件溯源的会话管理:每条消息为 SessionEvent,包含身份、时间戳、会话归属与可选分支标签(用于多智能体层级)。具备轮次感知的上下文压缩(compaction),可配置触发器在历史过大时触发,压缩策略可插拔并始终遵守轮次边界。定义 SessionRepository SPI,可把内存存储替换为 JDBC、Redis 或其他后端;官方提供 JDBC 实现(PostgreSQL、MySQL、MariaDB、H2)、Spring Boot 自动配置与 JDBC starter。SessionMemoryAdvisor 可与 ChatClient 集成,自动加载历史、追加消息并在需要时压缩。文档还涵盖事件过滤、多智能体分支隔离、全文历史的 recall 存储与跨会话召回。
- 适用场景
- 适用于基于 Spring AI 构建的对话类 AI 应用,需要长期、多轮会话记忆而不超出模型上下文窗口;需要在多智能体或并行代理间共享会话并做分支隔离;需要在 Spring Boot 项目中快速集成会话持久化(使用 JDBC starter 连接 PostgreSQL、MySQL、MariaDB 或 H2);需要在完整历史中做关键词召回或跨用户全部会话检索。
- 项目形态
- 开发框架
- 部署方式
- 作为 Maven 依赖引入,提供 BOM(spring-ai-session-bom)、核心模块(spring-ai-session)、JDBC 模块、自动配置模块与 Spring Boot starter。快照制品发布在 Spring snapshot 仓库;具体托管环境与部署形态未说明。
- 主要依赖
- Java 17+;Spring AI 2.0.1+;Spring Boot 4.1.1+;Maven 3.6+。JDBC 存储需要相应数据库(PostgreSQL、MySQL、MariaDB、H2)。
- 使用限制
- 材料未说明 API 成本、性能上限与生产环境限制;许可证为 Apache-2.0,但未提供商用或合规性结论;使用 JDBC 后端时的数据库部署与运维要求未说明。
- 许可证
- Apache-2.0
- 最近推送
- 2026-09-27 01:04
资料检查:2026-09-27 07:00 · 卡片整理:2026-09-27 07:00
卡片由 AI 根据仓库资料整理,未进行安装或运行验证 · 本次更新未完成,保留上次成功内容
职业应用
程序员
在开发 Spring AI 应用时,使用该库为 AI 应用提供结构化、事件溯源的会话管理能力,把每条消息建模为带身份、时间戳、会话归属和可选分支标签的 SessionEvent,并在历史过长时按轮次边界触发上下文压缩;通过 SessionRepository SPI 在内存、JDBC(PostgreSQL、MySQL、MariaDB、H2)等后端之间切换,配合 SessionMemoryAdvisor 接入 ChatClient 后自动加载历史、追加消息并在需要时压缩。
查看内容依据
Spring AI Session 是一个 Spring AI 库,为 AI 应用提供结构化、事件溯源的会话管理能力。
由 AI 根据来源材料整理,未进行安装或运行验证
讨论 0
登录后参与讨论,阅读资讯无需注册。
还没有评论,来分享第一个看法。