分享一个自己写的 Spring AI RAG Demo,给 Java 同学做个参考

ly1836 2026-07-20 10:31 1

最近在折腾 Spring AI ,顺手把 RAG 相关的代码整理成了一个 demo ,放出来给有需要的 Java 同学参考。

仓库地址:

https://github.com/ly1836/spring-ai-rag-demo


项目主要是把一套基础的 RAG 流程串起来,适合想从 Java / Spring Boot 这边了解 Spring AI 的同学,也可以拿去改成自己的小项目。

这个项目同时也是我实践 Codex + OpenSpec 开发方式的一次尝试。大致流程是先用 OpenSpec 整理需求、设计和任务,再用 Codex 辅助写代码、补测试和检查改动,最终实现和取舍还是由自己确认。

目前项目还在持续完善,主要希望代码尽量直观,方便直接看实现和继续折腾。README 、配置说明和示例后面也会继续补充。

如果你也在研究 Spring AI 、RAG ,或者正在尝试 Codex + OpenSpec 这类开发流程,欢迎交流。有配置不清楚、代码写得不合理的地方,也可以直接提 issue 。
最新回复 (12)
  • mmdsun 07-20 12:55
    1
    不错~赞了。可以优化下 rag 搜索,比较常用的都是向量和关键词的混合搜索+rerank 模型排序,搜索参数自定义比如 0.8 分数、返回条数、提示词
  • liangc230323 07-20 13:52
    2
    https://github.com/onceMisery/seahorse-agent
    我也是纯 OpenSpec 开发的,主要是前期没有定义好方向,现在已经不受控制了😂
  • ly1836 楼主 07-20 13:59
    3
    @mmdsun 阔以,有空会继续优化下。
  • nofishing 07-20 14:09
    4
    我也在学习,最近探索的方向是 microcore + plugin 来实现适配各种垂类 RAG 。遇到的主要问题是 chunker 和分类器的优化,需要分类器正确识别数据的类型以分发到正确的专向 chunker ,再分发到对应垂类或通用模型,理解数据是关键,文本和视觉都需要不同的模型处理。上述是 inngest 阶段,query 阶段再多个 rerank 的设计。
  • ly1836 楼主 07-20 14:27
    5
    @nofishing 不错,很好的想法
  • ly1836 楼主 07-20 14:30
    6
    @liangc230323 你的这个仓库模块好多,很复杂的样子,openspec 做一些小项目确实挺顺手的。
  • liangc230323 07-20 14:41
    7
    我看了下项目代码,直接通过 sql 来查询 db 这种是不是有数据权限风险,还有通过 SQL 怎么精准的查询出想要的数据,这个有没有办法评估。
    当然我认为现阶段 evalution 最难搞的, 有点鸡生蛋的意思
  • ly1836 楼主 07-20 14:58
    8
    @liangc230323 #7 这个项目的数据权限做的很粗糙,只做了租户隔离。
    1. 我的想法是不去做更细的数据权限,能使用这个功能的就直接是项目经理(能查询系统内所有数据)
    2. sql 注入的话当前流程是 LLM 根据用户自然语言去解析出来的,然后做了初步的安全校验(详见 SqlToolValidator.java),然后 SQL 里的 :param 会被替换成 JDBC 的 ? 占位符,已经最大程度去规避 sql 注入的风险了
    3. 数据精准度打分的话目前没去弄,我的想法是收集工具调用次数、入参、命中数据(项目中有部分功能),后续再去自动分析、标注。
  • supuwoerc 07-20 15:49
    9
    我最近在看 GBrain 这个项目,觉得比传统的 RAG 要合适实际场景,OP 看看是不是可以借鉴一下~
  • noob9030 07-20 15:59
    10
    可以,不错学习一下
  • ly1836 楼主 07-20 16:08
    11
    @supuwoerc 可以的,学习学习。
  • feiqiu 07-20 16:56
    12
    插眼学习一下
* 帖子来源V2EX
返回