不用向量库,我用 MySQL 跑通了蔬菜 RAG
基于 RuoYi-AI 的蔬菜种植知识库 + 智能咨询系统,普通开发机就能跑
大多数人做 RAG 的第一步,就卡在装向量数据库上。
Weaviate 起不来、Milvus 要 Docker 集群、Qdrant 文档看不懂......等到环境终于配好,毕业设计的 deadline 已经贴在脸上了。更现实的是:很多同学的开发机连独显都没有,本地根本跑不动那一套"标准答案"。
但有没有可能,把 512 维向量直接塞进 MySQL,在 JVM 里就把语义检索和智能问答都搞定?不用 Python 服务、不用显卡、不用任何额外中间件------普通笔记本就能跑。
今天聊的这个项目「蔬智答 VeggieMind」,就是把这件事做成了现实。它基于 RuoYi-AI 改造,是一个面向菜农、家庭种植者和农技推广人员的「蔬菜种植知识库 + 智能咨询系统」,同时也是一个特别适合拿来做毕设、课设、作品集的 AI 应用范例。










为什么装向量库,成了劝退第一步
说个真实场景:你想做个"农业知识问答小助手"当课程设计,导师说"上 RAG"。于是你兴冲冲去查教程------
结果第一步就要你拉一个向量数据库。要么本地开 Docker 跑 Weaviate,要么搭 Milvus 集群,内存不够直接崩;想要中文嵌入好一点,还得起一个 Python 的 embedding 服务,显卡不行推理慢得像在煮面。
对只学过 Spring Boot + Vue 的同学来说,这套"AI 基础设施"的门槛,比写业务代码高十倍。很多人不是不会做项目,是被环境劝退的。
蔬智答的思路很朴素:能用 MySQL 解决的,就别引入一个分布式数据库。
一个 MySQL 是怎么扛住向量检索的
核心就一行配置:vector-store.type=local。
项目把向量以 JSON 数组的形式存进 MySQL 表 veg_vector,检索时全部在 JVM 内存里完成余弦相似度计算。没有中间商,没有额外进程,你的电脑还是那台电脑,但它现在能理解"番茄叶子发黄"和"西红柿缺素症"是同一件事了。
中文嵌入用的是 BGE-small-zh-v1.5 的 ONNX 模型,首次运行自动下载约 50MB,纯 Java 推理,不需要 Python、不需要显卡。这一步对只懂 Java 的同学太友好了------你终于不用为了一个 AI 项目去现学一门口语化的脚本语言。
它真正过硬的不是"能跑",是"跑不崩"
如果只讲"轻量",这项目还不算特别。真正让我觉得"这作者懂工程"的,是优雅降级。
- 没配大模型 API Key?系统自动进入「离线直答」模式,从知识库里抽答案,演示基本不会中断。
- 向量不可用?自动退化为 MySQL 关键词检索,照样能答。
真正稳定的系统,不是不报错,而是报错也能答。
这句话我建议做毕设的同学直接抄在答辩 PPT 里------老师最爱听这种"考虑了异常场景"的设计。
混合检索 + 流式输出,体验一点不糙
它用了「向量召回 + MySQL FULLTEXT ngram 关键词召回」,再用 RRF 算法融合排序。简单说,光靠语义可能跑偏,光靠关键词又太死板,两个加起来,召回更准。
前端体验也很完整:SSE 流式逐字输出、多轮对话、可随时停止生成、回答还带「来源引用卡片」------这一步直接降低了模型胡说八道的概率。更贴心的是推荐追问、游客也能问、会话之间互不串。不是一个只能截图的花架子。
不是演示版,是能交付的东西
很多人开源项目"只有截图没有数据",蔬智答不是。它已经 seed 了 46 条真实蔬菜知识,开箱即用。
配套也齐:8 份文档(需求、系统设计、数据库、接口、部署运维、测试、开发计划)、6 件套 SQL 初始化脚本、Windows 一键启动脚本。管理端用 Vben5 + Ant Design Vue 做了分类树、知识 CRUD、索引同步、会话管理、反馈处理、热点问题,还有一个数据仪表盘九宫格。后端 6039、用户端 5173、管理端 5666,默认账号 admin/admin123,拉下来就能点。
说明:知识库内容来自公开农技资料,不构成生产用药建议,实际种植用药请遵循当地登记标签与农技部门指导。
给开发者看的硬货
技术栈是标准的"企业级轻量组合":Spring Boot 3.5.8 + JDK17,权限用 Sa-Token,持久层 MyBatis-Plus;AI 层是 LangChain4j 1.17;用户端 Vue3 + Vite + Element Plus,管理端 Vben5。存储侧 MySQL8 的 FULLTEXT ngram + Redis7。
想搞懂"不依赖外部向量库的 RAG 到底怎么落地",这套代码比看十篇博客都直观。
谁适合拿它练手
- 毕设 / 课设的同学:轻量 RAG + 智慧农业,选题新又不偏,答辩好讲。
- 转行做 AI 应用的同学:作品集里放一个"真能跑、有前端有管理端"的项目,比 Hello World 强太多。
- 对本地嵌入、轻量检索好奇的开发者:它把"少依赖"这件事做到了极致,很适合当学习样本。