RuoYi AI 开源全栈式 AI 开发平台,为客服团队打造一个企业级私有化智能问答助手(二)
第二步 环境部署第 2-3 天在完成需求定义之后接下来就要进入实施阶段最关键的一步——把 AI 助手平台实际跑起来。⚡ 本章部署原则考虑到企业内部数据安全和未来扩展性本部署全程采用本地化部署方案所有服务和数据均运行在企业内部服务器。两种部署方式任选一种即可推荐团队入门时优先选择 Docker 一键脚本熟悉后再通过 Docker Compose 进行精细化管理。 部署方式概览RuoYi AI 项目官方提供了完整的开源部署方案研发团队可根据实际情况选择以下两条路径部署路径适用场景硬件要求部署难度备注一键脚本部署推荐入门快速测试、初次上手、小规模验证最低 4H4G⭐ 简单自动化程度高交互式配置引导Docker Compose 部署生产环境、需精细控制配置最低 2H2G⭐⭐ 适中服务组件独立可控便于监控和扩展团队建议如果团队对 Docker 不够熟悉首次部署可以选择一键脚本路径快速验证如果是技术团队或有明确的生产环境需求Docker Compose 可以提供更灵活的配置和维护选项。⚙️ 前置环境检查在正式开始部署之前系统环境必须满足以下要求这部分是决定后续部署是否顺畅的关键。基础软件环境清单组件最低版本要求验证命令说明JDK17 或更高java -versionRuoYi AI 基于 Spring Boot 3.X 构建必须使用 JDK 17MySQL5.7 / 8.0mysql --version主业务数据库推荐 8.0 版本Redis≥ 5.0redis-cli ping高并发缓存与会话存储Maven≥ 3.8mvn -vJava 项目依赖管理和编译工具Node.js≥ 20node -v前端项目构建环境pnpm最新稳定版pnpm -v前端包管理器⚠️特别注意如果团队当前的开发环境仍是 Java 8 或 11需要提前安排升级或在新服务器上搭建。JDK 17 是 RuoYi AI 的运行底线不可绕过。 方案一一键脚本部署快速上手路径 Step 1获取项目源码并执行一键脚本从 Gitee 拉取项目推荐国内开发者使用速度快、访问稳定进入script/deploy/one-step-script目录执行一键部署脚本# 克隆项目 git clone https://gitee.com/ageerle/ruoyi-ai cd ruoyi-ai/script/deploy/one-step-script/ # 执行中文部署脚本拉取 Gitee 仓库 chmod x deploy-cn.sh ./deploy-cn.sh Step 2交互式配置参数说明脚本运行过程中会引导填写几个关键配置以下是最核心的几个参数配置类别参数名默认值使用建议MySQLMYSQL_ROOT_PASSWORDroot强烈建议修改为强密码至少包含大小写字母和数字MySQLMYSQL_DATABASEruoyi-ai可保持不变RedisREDIS_PASSWORD空生产环境必须设置访问密码前端端口WEB_PORT8081如果 8081 端口被占用修改为其他空闲端口如 18081管理员端口ADMIN_PORT8082同理如被占用请修改⚖️ Step 3选择镜像构建方式脚本运行后会询问一个关键问题 构建或部署选项 您想构建新镜像 (B) 还是直接使用现有镜像部署 (D)[B/d]:BBuild全新从源码编译构建适合本地源码有定制修改、或需要基于最新代码测试的场景。DDeploy with existing image推荐初次部署选择 D直接拉取官方已构建好的镜像进行部署省时省力适合快速验证。等待脚本运行完成全部依赖下载完成和容器启动成功后即可通过以下地址访问系统用户端http://服务器IP:8081默认账号demo / demo123管理后台http://服务器IP:8082默认账号admin / admin123 方案二Docker Compose 部署生产级推荐如果需要精细化管理各个服务组件数据库、缓存、向量数据库或已经有 Docker 运维经验推荐使用 Docker Compose 方式。 Step 1环境准备Docker 与 Docker ComposeDocker Compose 方式依赖 Docker 容器化环境以下是最低配置要求组件最低要求推荐配置说明Docker20.1024.0容器运行环境Docker Compose2.02.20服务编排工具内存8GB16GB建议为 Ollama 模型预留充足资源CPU4 核8 核多核利于容器并行运行验证 Docker 环境docker --version # 检查 Docker 版本应 ≥ 20.10 docker-compose --version # 检查 Docker Compose 版本 Step 2克隆项目并启动全套服务快速启动最简单的方式是直接拉取预先构建的 Docker Compose 配置文件git clone https://gitee.com/ageerle/ruoyi-ai cd ruoyi-ai/script/deploy/deploy docker-compose up -d等待镜像拉取和服务启动完成后访问方式同前用户端 8081 端口管理后台 8082 端口。 Step 3Docker Compose 部署架构深度解析RuoYi-AI 的 Docker Compose 部署采用了微服务架构设计通过 Docker Compose 统一管理多个核心服务组件。启动docker-compose up -d后实际上启动了一套完整的服务集群docker-compose.yml中包含的核心服务及作用如下服务组件镜像核心职责关键配置说明MySQL 8.0mysql:8.0.33存储用户信息、会话数据、模型配置等业务数据使用utf8mb4字符集支持完整 Unicode 字符通过 Volume 映射实现数据持久化Redis 6.2redis:6.2高性能缓存与会话存储开启 AOF 持久化机制支持密码认证Redis 数据目录映射到宿主机Weaviate默认向量库semitechnologies/weaviate:1.30.0向量数据库用于语义搜索和相似性检索支持 HTTP 和 gRPC 双协议支持多种向量化模块数据独立持久化存储 Docker Compose 部署的三大核心设计环境一致性所有组件运行在容器中彻底避免了在我机器上能跑到服务器就出问题的尴尬。一键启停docker-compose up -d一条命令完成全部部署守护进程模式确保服务不会被终端关闭影响。数据持久化MySQL、Redis、向量数据库的数据目录均映射到宿主机容器重启后数据依然保留。 部署 Ollama 模型服务核心 AI 引擎无论通过上述哪种方式完成了 RuoYi AI 平台主容器的部署接下来都需要配置 AI 模型的运行环境Ollama。这一步是让整个 AI 问答系统真正“活”起来的关键。⚡ 为什么需要本地部署 Ollama根据本项目的红线要求“所有企业业务数据不出内网服务器”不能依赖云端大模型 API。Ollama 正是在本地服务器上运行大语言模型的首选方案。 第一步下载 Ollama 安装包访问 Ollama 官网 https://ollama.com/ 下载对应操作系统的最新安装程序Linux执行curl -fsSL https://ollama.com/install.sh | shWindows双击执行OllamaSetup.exe完成安装macOS下载.dmg文件安装即可安装完成后验证ollama --version # 应输出版本号如 ollama version 0.1.xx 第二步下载问答模型与向量模型根据项目场景和服务器配置选择合适的模型。我们选择通义千问 qwen2:0.5b 作为基础问答模型配合 embeddinggemma:300m 作为本地向量化模型。qwen2:0.5b阿里巴巴通义千问系列的轻量级版本参数量 5 亿在中文理解和生成方面表现出色对硬件要求较低适合中文企业知识库场景。embeddinggemma:300mGoogle 的轻量级向量嵌入模型负责将文档块转换为向量表示是实现 RAG 相似性匹配的核心。# 下载基础问答模型~352 MB ollama pull qwen2:0.5b # 下载向量模型~621 MB ollama pull embeddinggemma:300m # 验证模型已成功安装 ollama list⚡ 第三步测试模型是否正常可用# 测试问答模型 ollama run qwen2:0.5b 你好请介绍一下 AI 的基本概念。如果模型正常返回内容中文回答则 Ollama 服务已准备就绪。 部署 Milvus 向量数据库构建 RAG 知识库的基础在上一章的需求中我们明确要求实现对私有文档的问答RAG 检索增强生成。RuoYi AI 平台提供了一套完整的本地化 RAG 方案——集成 Milvus 向量库、本地向量化模型与 Ollama实现纯本地化的文档检索与知识库构建。Q选择 Weaviate 还是 MilvusRuoYi AI 采用策略模式Strategy Pattern对多个向量存储后端提供了统一的抽象接口默认预配置的是WeaviateMilvus 只需修改application.yml中的配置vector-store: type: milvus即可。两者功能完整度相近推荐先使用默认的 Weaviate。 第一步编写或复用 docker-compose.ymlMilvus Etcd MinIO在部署目录下创建docker-compose.yml或在 RuoYi AI 默认配置文件中集成内容如下version: 3.5 services: etcd: container_name: milvus-etcd image: quay.io/coreos/etcd:v3.5.5 environment: - ETCD_AUTO_COMPACTION_MODErevision - ETCD_AUTO_COMPACTION_RETENTION1000 - ETCD_QUOTA_BACKEND_BYTES4294967296 - ETCD_SNAPSHOT_COUNT50000 volumes: - ./volumes/etcd:/etcd command: etcd -advertise-client-urlshttp://127.0.0.1:2379 -listen-client-urls http://0.0.0.0:2379 --data-dir /etcd network_mode: host minio: container_name: milvus-minio image: minio/minio:RELEASE.2023-03-20T20-16-18Z environment: MINIO_ACCESS_KEY: minioadmin MINIO_SECRET_KEY: minioadmin command: minio server /minio_data --console-address :9001 volumes: - ./volumes/minio:/minio_data network_mode: host milvus: container_name: milvus-standalone image: milvusdb/milvus:v2.3.3 command: milvus run standalone environment: ETCD_ENDPOINTS: localhost:2379 MINIO_ADDRESS: localhost:9000 volumes: - ./volumes/milvus:/var/lib/milvus network_mode: host 第二步启动 Milvus 服务docker-compose up -d 第三步配置 RuoYi AI 连接到 Milvus在 RuoYi AI 的配置文件ruoyi-admin/src/main/resources/application.yml中确认或修改vector-store相关配置vector-store: type: milvus # 使用 Milvus 作为向量存储也可换为 weaviate milvus: url: http://localhost:19530 collectionname: LocalKnowledge⚠️ 潜在错误处理常见问题如embeddinggemma:300m模型向量维度不匹配可通过 Milvus 官方可视化面板 Attu 索引检查库集合的维度设置。平台提供了createSchema()方法会自动检测嵌入模型的向量维度并按基类名 知识库 ID 创建独立集合避免维度冲突。✅ Step 7功能验证与访问检查完成以上所有部署步骤后逐项验证系统是否正常。验证清单MySQL 容器正常运行docker-compose ps | grep mysqlRedis 容器正常运行docker-compose ps | grep redisMilvus / Weaviate 向量库容器正常运行docker-compose ps | grep -E milvus|weaviateRuoYi AI 后端主容器正常运行docker-compose ps | grep ruoyiOllama 模型服务正常运行ollama list能看到qwen2:0.5b和embeddinggemma:300m登录验证# 浏览器访问以下两个地址 http://服务器IP:8081 # 用户前端 http://服务器IP:8082 # 管理后台 # 默认登录凭据 管理员账号admin / admin123 普通用户端demo / demo123如果两个界面都可以正常登录且管理后台中可以进入模型配置查看已接入的 AI 大模型配置说明 RuoYi AI 平台已经成功完成本地化部署。 避坑指南问题场景建议排查路径Docker 镜像拉取超时配置国内 Docker 镜像加速器阿里云、中科大均可并添加{registry-mirrors: [https://registry.cn-hangzhou.aliyuncs.com]}到 Docker Daemon 配置文件启动后前端无法访问先检查端口是否被占用netstat -anp | grep 端口号再检查防火墙是否放行对应端口sudo ufw status/firewall-cmd --list-ports向量库连接报错到application.yml中确认 Milvus/Weaviate 的 URL 是否为localhost:19530localhost:6038且对应容器在 Docker 中正常运行docker psOllama 模型拉取缓慢可以考虑使用HF_ENDPOINT配置 Hugging Face 镜像源export HF_ENDPOINThttps://hf-mirror.com后重新执行ollama pullRedis 连接异常检查redis.conf是否绑定了127.0.0.1生产环境建议绑定0.0.0.0 本章小结恭喜通过一键脚本或 Docker Compose 配置配合 Ollama 本地模型服务与 Milvus 向量库已经完成了完整的环境部署和验证。接下来系统将进入业务数据接入阶段——按照需求定义的客户文档与 FAQ 内容通过后台管理界面上传到知识库并配置相应的菜单权限和角色访问策略。
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2557672.html
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!