1、立项背景和目标
Minecraft作为全球热门沙盒游戏,玩家在游戏中经常遇到合成配方查询、资源定位、生存技巧咨询等问题,传统Wiki查询效率低、新手门槛高。本项目旨在利用AI大模型与RAG检索增强生成技术,构建一个专为Minecraft玩家服务的智能问答助手,帮助玩家快速获取游戏知识。
2、软件功能、核心功能模块的介绍
系统包含Web端、PC桌面端(Electron)、Android端、微信小程序多端入口,核心功能包括:(1)AI智能对话问答,基于百炼大模型实现自然语言交互;(2)RAG知识库检索,通过Milvus向量数据库存储Minecraft官方Wiki数据,支持精准知识问答;(3)Agent智能体工具调用,可结合网页搜索和知识库综合回答;(4)文件上传问答,支持玩家上传文档自定义查询;(5)用户系统,支持注册登录、对话历史管理;(6)自动化运维,支持定时任务、健康检查、日志轮转。
3、业务流程、功能路径描述
用户进入系统后,选择平台(Web/PC/Android/小程序)访问助手界面,可直接发起AI对话提问。系统通过Express后端接收请求,经意图分析后调用Agent中间件,结合RAG向量检索(Milvus)、网络搜索工具(如有)、历史对话上下文(Redis/MySQL),由大模型生成流式回答返回给用户。同时系统支持用户注册登录,保存对话历史,支持文件上传进行定制化问答。管理员可通过后台管理知识库数据、查看运行健康状态。
1、整体架构和设计思路,不同模块使用的技术栈
项目采用前后端分离架构。后端基于Node.js + Express 5.x搭建RESTful API服务,核心模块包括:(1)大模型模块:接入智谱AI百炼大模型API,支持SSE流式输出、多轮对话、Function Calling;(2)RAG模块:实现爬虫(Crawler)、数据清洗(Cheerio)、文本分块(LangChain)、向量嵌入(Embedding)、Milvus向量存储与检索、重排序(Rerank)完整管线;(3)Agent模块:基于意图分析路由到知识库查询或网页搜索工具;(4)用户模块:JWT认证、Redis会话管理、MySQL数据持久化、短信/邮箱验证。前端基于Vue.js + Vite构建,通过Electron打包为PC桌面端,另有uni-app实现的Android端和微信小程序。数据库采用MySQL存储业务数据、Redis缓存加速、Milvus存储向量。部署使用Docker Compose容器化编排。
2、"我"的负责模块和结果
本人独立完成整个项目全栈开发,包括:(1)从0到1搭建Node.js后端服务框架,设计模块化路由与中间件体系,开发用户注册登录、对话管理、文件QA等10+核心API接口;(2)设计并实现RAG知识库系统,完成爬虫、清洗、分块、向量嵌入、Milvus存储的完整数据流水线,导入Minecraft Wiki知识库数据;(3)接入智谱百炼大模型,实现Agent工具调用、流式对话、Function Calling等高级特性;(4)开发Vue前端并通过Electron打包为Windows桌面应用;(5)编写Docker部署脚本与自动化运维工具(健康检查、日志轮转、模型监控)。项目现已在个人服务器上线,支持多端访问。
3、"我"遇到的难点、坑,和解决方案
难点一:RAG检索精准度不足,初期知识库问答答非所问。解决方案:优化文本分块策略(按段落+语义重叠),引入重排序(Rerank)模型精排候选结果,根据动态RAG中间件根据查询类型调整检索参数,大幅提升回答准确率。
难点二:Electron打包后体积过大与Windows SmartScreen告警。解决方案:精简依赖、配置electron-builder仅打包必要资源,在下载页提供解锁安装包的图文引导,解决用户首次运行的系统告警问题。
难点三:大模型API响应慢,用户体验差。解决方案:采用SSE服务器推送事件实现流式输出,用户可边等待边看到回答逐步生成;引入Redis缓存高频问题的答案,显著降低重复请求延迟。
难点四:多端适配复杂度高。解决方案:后端统一提供REST API,前端分别针对Web/PC/Android/小程序做适配层设计,核心业务逻辑复用,减少维护成本。