项目源码|RuoYi-AI 智能体平台|Spring Boot 3 + Vue 3 · 本地 Ollama 知识库问答 · Docker

项目源码|RuoYi-AI 智能体平台|Spring Boot 3 + Vue 3 · 本地 Ollama 知识库问答 · Docker-远影归灯
RuoYi-AI 源码包
此内容为付费资源,请付费后查看
80积分
付费资源

想做「AI + 管理系统」方向的毕设,又不想从零写后台?RuoYi-AI 是在若依(国内很常见的 Java 后台脚手架)上做的全栈 AI 平台。管理端配模型,用户端聊天,上传文档就能做知识库问答,还带一个拖拽式工作流。本机用 Docker 跑通了:用户端流式聊天、建知识库上传 Word、通过后端接口带知识库提问、按文档内容答对问题(用户端界面暂无选知识库入口)、工作流调用模型。模型全用本机 Ollama,不花一分钱 API 费。本帖 80 积分,下载区是三个端的完整源码、我的本机部署补丁和中文部署说明。

4 步上手

  1. 装 Docker 和 Ollama:Ollama 拉两个模型,qwen2.5:3b 聊天、nomic-embed-text 做向量。
  2. 起 7 个容器:用包里「本机部署补丁」的 compose 一条命令启动,端口全部只绑 127.0.0.1。
  3. 补库、配模型:执行两段补丁 SQL;管理端「模型管理」加上面两个模型,「文件配置管理」把 MinIO 设成默认。
  4. 建知识库提问:「知识管理」新建知识库、上传文档,「检索测试」能命中就成了。
用户端流式回答中
看这里:这是用户端正在回答的一刻。第 1 点已经出来,后面还在一个字一个字往外冒,右下角是「停止」按钮。左下角是选中的模型:本地 Ollama · 通义千问 2.5 3B。

能做什么

  • 模型管理:后台增删模型,支持 Ollama、OpenAI 兼容接口、DeepSeek 等厂商
  • 用户端聊天:多会话、流式输出、切换模型
  • 知识库:上传 Word/PDF,自动切块存进向量库,可做检索测试
  • 工作流:拖节点编排「开始 → 生成回答 → 结束」这类流程
  • 权限后台:若依那一套用户、角色、菜单、日志
  • 智能体(自动调工具)、MCP 工具、邮箱注册、第三方登录、小程序、文生图/视频。这几项支持但本篇未实测(智能体试了,本地小模型没跑通,见踩坑)。

RAG:先从你的文档里找相关段落,再让模型照着答。模型不用重新训练,也能答你自己的资料。

向量库:把文字变成一串数字(向量)存起来,按「意思相近」来搜。这里用的是 Weaviate。

Ollama:在自己电脑上跑大模型的工具,装好后一条命令拉模型。

技术栈(压缩)

  • 后端:Spring Boot 3.5 + Langchain4j,Sa-Token 权限,JDK 17
  • 前端:管理端 Vue 3 + Vben Admin;用户端 Vue 3 + Vite
  • 存储:MySQL 8、Redis、Weaviate(向量库)、MinIO(文件存储)
  • 部署:Docker Compose,共 7 个容器;模型用本机 Ollama

本机部署(已跑通)

1. 启动容器

cd 本机部署补丁
docker build -t ruoyi-ai-backend-node:v3.1.0 -f Dockerfile.backend-node .
docker compose --env-file .env -f docker-compose-host.yaml up -d

第一行是在官方后端镜像上加 Node.js,智能体模式要用。只用聊天和知识库可以不加。管理端 http://127.0.0.1:25666,用户端 http://127.0.0.1:25137。

7 个容器都在运行
看这里:7 个 ruoyi-ai-* 容器全是 Up,MySQL 显示 healthy。最后一个 ruoyi-ollama 是我临时起的模型服务。这张是用真实命令输出排版的图。

2. 登录管理端

管理端登录页
看这里:登录页要选租户、填用户名和密码。我把框清空了才截图,因为默认会预填账号密码。

首次启动用内置默认管理员账号,登录后立刻改密。

管理端首页
看这里:登录后进「分析页」。上面的数字和曲线是模板自带的演示数据,不是真实统计。

3. 补两段 SQL

官方数据库镜像少了两段升级脚本,不补的话用户端会提示没权限。在 ruoyi-ai/docs/script/sql/update/ 下:

  • 2026-07-24-register-default-role-and-missing-menus.sql:补「普通用户」角色和菜单
  • update-0615-trace.sql:补链路追踪的表

4. 配模型

「对话管理 → 模型管理 → 新增」,供应商选 ollama,地址填 http://127.0.0.1:11434,密钥留空。

向量模型表单
看这里:这是加向量模型。名称 nomic-embed-text,分类选「向量」,维度填 768。密钥一栏是空的,本地 Ollama 不需要。
模型列表
看这里:按「qwen」搜出我加的两个对话模型,3B 和 7B,供应商都是 ollama。

下拉框里显示的是「模型描述」,不是名称。描述写清楚,选的时候好认。

5. 用户端聊天

在「系统管理 → 用户管理」新建一个普通用户,再去用户端登录。

用户端回答完成
看这里:问「用 RuoYi-AI 做 AI+管理系统毕设,给 4 点建议」,3B 模型完整答了 4 点,答完右下角变回发送按钮。

验收:知识库问答

建库、传文档

「对话管理 → 知识管理 → 新增」,向量库选 weaviate,向量模型选 nomic-embed-text。

知识库列表
看这里:建好的「远影归灯示例知识库」,文档数 1。
上传文档
看这里:进「详情 → 上传文档」,选「自动解析」,传的是我自己写的「远影归灯示例说明.docx」。
文档已解析
看这里:状态是「已解析」,分块数 1。这份说明很短,所以只切出 1 块。

分块:长文档会切成一小段一小段再存,提问时只取最相关的几段。

检索和回答

检索测试命中
看这里:问「远影归灯的吉祥物叫什么?」,命中 1 项,相似度 60.2%,来源就是刚传的 docx。
按文档内容回答
看这里:调用聊天接口时带上知识库 ID,3B 模型 9 秒答出文档里的吉祥物「阿灯」、口头禅和暗号「灯下读码」。暗号只写在这份文档里,答得出来说明真读到了。这张是用真实接口输出排版的图。

说清楚一点:后端已经支持「先检索再回答」,但用户端界面目前没有选知识库的按钮。界面上要用知识库,得走「智能体」。本地 3B、7B 小模型都没跑通(见踩坑)。想在界面上直接用,可以换更强的云端模型试智能体,支持但本篇未实测。

工作流(附带)

工作流运行
看这里:「编排管理」里的测试流程:开始 → 生成回答(模型选 qwen2.5:3b)→ 结束。输入一句话,「生成回答」节点用本地模型给出了答案。

实测踩坑

  1. MinIO 官方镜像拉不到:换 bitnamilegacy/minio,数据目录挂到 /bitnami/minio/data,不然报没权限。
  2. 默认网络连不上向量库和文件存储:配置里写的是 127.0.0.1,容器里指的是自己。我改成 host 网络,所有端口只绑 127.0.0.1。
  3. 用户端提示没权限(403):官方数据库镜像缺升级脚本,补上面两段 SQL。
  4. 回答不是一个字一个字出来:后端流式回复被 nginx 先压缩、攒齐再发。在 nginx 接口转发里加 gzip off; proxy_buffering off;,首字从 6 秒变成 0.03 秒。补丁在包里。
  5. 上传文档失败:默认存储是腾讯云的假配置。到「文件配置管理」把 minio 设成默认,再建一个 ruoyi 桶。
  6. 注册要邮箱验证码:没配邮件就在后台直接建用户,角色选「普通用户」。
  7. 智能体模式连环报错:缺 Node(npx 找不到)、缺 skills 目录,补完后 3B 模型输出格式不对,7B 跑了 8 分多钟还答非所问。本地小模型别用智能体。
  8. 登录页会预填默认密码:截图、录屏前先清空。

安全与合规

  • 数据库 root/root、MinIO 默认账号密码、端口全开:只适合本机或内网。上线前全部改密码,只开 80/443,数据库、Redis、MinIO、向量库端口都关掉。
  • 默认密钥要换:Sa-Token 的 JWT 密钥、前端 .env 里的加解密密钥对都是公开默认值。
  • 日志会记明文密码:后端请求日志会把登录请求原样写进去,上线前关掉或脱敏。
  • 智能体权限很大:默认带 SQL 查询助手,还会临时下载最新版浏览器、文件工具;内置工具里有执行命令、删文件。不需要就别给普通用户开。
  • 文件桶默认公开下载:正式环境改成私有。
  • 协议为 MIT:再分发请保留 LICENSE。
  • 源码包在本帖下载区:三个端的源码 + 本机部署补丁 + 中文 DEPLOY.txt。已去掉 .git、node_modules、构建产物、作者联系方式二维码、赞助图片,以及一套非 MIT 授权的技能文件;配置里的第三方演示密钥已换成占位符,不含任何 API Key 和我改过的密码。

装 Docker 和 Ollama → 起 7 个容器 → 配模型 → 传文档提问,一个能答你自己资料的 AI 平台就搭好了。

© 版权声明
THE END
喜欢就支持一下吧
点赞6 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容