想做「AI + 管理系统」方向的毕设,又不想从零写后台?RuoYi-AI 是在若依(国内很常见的 Java 后台脚手架)上做的全栈 AI 平台。管理端配模型,用户端聊天,上传文档就能做知识库问答,还带一个拖拽式工作流。本机用 Docker 跑通了:用户端流式聊天、建知识库上传 Word、通过后端接口带知识库提问、按文档内容答对问题(用户端界面暂无选知识库入口)、工作流调用模型。模型全用本机 Ollama,不花一分钱 API 费。本帖 80 积分,下载区是三个端的完整源码、我的本机部署补丁和中文部署说明。
4 步上手
- 装 Docker 和 Ollama:Ollama 拉两个模型,
qwen2.5:3b聊天、nomic-embed-text做向量。 - 起 7 个容器:用包里「本机部署补丁」的 compose 一条命令启动,端口全部只绑 127.0.0.1。
- 补库、配模型:执行两段补丁 SQL;管理端「模型管理」加上面两个模型,「文件配置管理」把 MinIO 设成默认。
- 建知识库提问:「知识管理」新建知识库、上传文档,「检索测试」能命中就成了。

能做什么
- 模型管理:后台增删模型,支持 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。

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,密钥留空。


下拉框里显示的是「模型描述」,不是名称。描述写清楚,选的时候好认。
5. 用户端聊天
在「系统管理 → 用户管理」新建一个普通用户,再去用户端登录。

验收:知识库问答
建库、传文档
「对话管理 → 知识管理 → 新增」,向量库选 weaviate,向量模型选 nomic-embed-text。



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


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

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














暂无评论内容