作为 AIChat 项目的全栈开发者,我独立完成了这款基于 Vue+SpringBoot 的智能对话系统开发,实现了集用户管理、AI 对话、内容生成与反馈互动于一体的完整功能闭环。
前端采用 Vue 框架构建响应式界面,通过 Vue Router 实现登录注册页、对话界面、图片生成页和评价模块的路由管理。用户认证模块使用 Vuex 存储会话状态,结合 Axios 与后端接口交互,实现表单验证、JWT 令牌管理及权限控制。对话界面设计采用流式布局,支持消息实时渲染与滚动加载,输入区集成 Emoji 选择器与语音输入功能,提升交互体验。
后端基于 SpringBoot 架构,设计 RESTful API 分层架构:Controller 层处理前端请求,Service 层实现业务逻辑,Repository 层对接 MySQL 数据库存储用户信息与对话历史。核心功能上,集成 LangChain4j 框架搭建 RAG 系统,通过本地向量数据库存储知识库 embedding,实现用户提问时的上下文关联与精准内容增强。模型调用模块采用策略模式设计,支持灵活切换不同本地大语言模型,并通过线程池管理异步生成任务,避免请求阻塞。
图片生成功能通过调用本地 Stable Diffusion API 实现,后端封装参数校验与任务队列,前端实时轮询生成进度并展示结果。用户评价系统设计为星级评分 + 文本反馈模式,数据存入数据库后,通过定时任务生成月度功能优化报告。
系统优化方面,实现对话历史本地缓存减少请求次数,采用 Redis 存储热门问答提升响应速度,通过 Nginx 配置静态资源缓存与反向代理。全程遵循前后端分离开发规范,使用 Swagger 生成 API 文档,Junit 编写单元测试,确保代码质量与系统稳定性,最终交付了一个兼具实用性与扩展性的智能对话平台。