不用向量库,我用 MySQL 跑通了蔬菜 RAG--基于 RuoYi-AI 的蔬菜种植知识库 + 智能咨询系统,普通开发机就能跑

不用向量库,我用 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 强太多。
  • 对本地嵌入、轻量检索好奇的开发者:它把"少依赖"这件事做到了极致,很适合当学习样本。
相关推荐
l55072554132 分钟前
汽车总布置人机|SAE J826 驾驶人体二维模板绘制要点
人工智能·汽车
天远数科33 分钟前
零信任架构实战:基于天远全能家政风险报告构建自动化即时到家保洁与短工抢单安全核验网关
运维·人工智能·架构·自动化
听我哔哔40 分钟前
口播视频唇形总对不上?Seedance 2.5 在 zeekeAI 里的同步实操
人工智能·音视频
隔窗听雨眠42 分钟前
大语言模型推理效率的多维优化与部署取舍
人工智能·语言模型·自然语言处理
Franciz小测测1 小时前
MySQL 增量备份实践:文件都在,为什么仍可能恢复失败?
数据库·mysql·binlog
听风吹等浪起2 小时前
第30章:MobileNetV3全家桶实现MRI脑肿瘤四分类(含Streamlit网页推理+Mermaid结构图)
人工智能·分类·数据挖掘
如若1232 小时前
TRACER 论文解读与复现:面向 ICU 长时程患者监测的多模态 Harness 架构、时序证据建模与工具增强推理
人工智能·深度学习·计算机视觉
2401_891409264 小时前
量化数据13:港股分钟K线、Level2逐笔Tick、十档盘口和港股通历史数据的批量提取
数据库
深蓝AI4 小时前
无头浏览器不必从 Chrome 改:Lightpanda 用 Zig 从零造,100 个页面只占 123MB 内存
人工智能·程序员