本系统是一个 RAG 智能知识库问答平台,包含八个功能模块。
用户认证模块支持用户名、邮箱或手机号注册登录,也支持短信验证码免密登录,修改密码和联系方式均需验证,会话采用 JWT Token。
知识库管理模块允许用户创建、编辑和删除知识库。文档上传支持多文件批量操作,后台异步完成解析和向量化。文件格式覆盖 TXT、PDF、Word、Excel、PPT,图片通过 OCR 提取文字,音视频通过 Whisper 转录。系统按 Free、Pro、Enterprise 三档套餐限制知识库数量、文档数和文件大小。
RAG 智能问答模块是系统核心。用户提问后,系统先语义检索知识库内容,再发送给大语言模型生成答案并附带引用来源。支持流式输出和多轮对话,历史对话可管理。
分享与访客模块允许高级用户生成限时分享链接,访客无需登录即可对知识库提问。
付费模块支持月付和年付,通过微信扫码或支付宝付款,自动确认支付并升级套餐,支持沙箱模拟支付。
知识库市场模块由管理员发布模板,用户可一键基于模板创建知识库。
系统管理模块赋予管理员用户管理、角色套餐修改、批量重置密码等权限。
系统配置模块供管理员配置 AI 模型、OCR、短信、支付渠道等参数,密钥脱敏展示。
后端 API 分为十组:/api/auth/ 为注册登录等九个认证接口;/api/kb/ 为知识库和文档管理七个接口;/api/chat/ 为问答和对话管理五个接口;/api/share/ 为分享链接四个接口;/api/guest/ 为访客免登录问答两个接口;/api/payment/ 为下单支付和配置八个接口;/api/kb-market/ 为模板管理五个接口;/api/settings/ 为系统配置十个接口;/api/admin/ 为用户管理五个接口;/api/stats/ 返回统计数据。
前端页面中,/login 为登录页,/pricing 为价格页,/guest 为访客问答页。登录后 / 为仪表盘,/knowledge-base 为知识库列表,/knowledge-base/:id 为知识库详情,/market 为模板市场,/chat 为问答对话页,/conversations 为对话列表,/profile 为个人资料,/payment 为支付页,/settings 和 /admin 为管理员专用页。
本项目由我一人独立完成,包括产品设计、后端开发、前端开发、运维部署、第三方对接。
产品设计:编写 PRD 规格书,设计技术架构、数据模型和 API 路径。
后端开发:基于 FastAPI 实现全部十个 API 模块,包括多格式文件解析、RAG 引擎、向量存储、JWT 认证、支付对接等。
前端开发:基于 React + Vite 实现 14 个页面,涵盖登录、知识库管理、问答对话、支付、管理后台等。
运维部署:Docker Compose 四容器编排,Nginx 反向代理,Let’s Encrypt HTTPS 证书接入。
第三方对接:集成微信支付、支付宝、阿里云/腾讯云短信、百度 OCR、OpenAI API。
文档编写:撰写 13 篇技术与产品文档。
技术栈与架构
后端 Python + FastAPI,SQLAlchemy + aiosqlite 异步 ORM,ChromaDB 向量存储,OpenAI 提供 Embedding 和 Chat。前端 React 18 + Vite 5,react-router-dom 路由,Axios 请求。部署采用 Docker Compose + Nginx + HTTPS。
架构为前后端分离:前端调用后端 API,后端解析文档后向量化存入 ChromaDB,问答时语义检索再由 LLM 生成答案,支持 SSE 流式输出。
亮点
多格式解析完整:覆盖文本、PDF、Word、Excel、PPT、图片 OCR、音视频 Whisper 转录八大类,通过工厂模式统一调度。
RAG 全链路闭环:从文档上传、分块、向量化、检索到生成答案并引用来源,支持流式输出和多轮对话。
商业化体系完整:三档套餐差异化限制、双支付通道、回调加轮询双重确认、沙箱模拟支付。
安全加固到位:密钥脱敏、HTTP 安全头、验证码枚举限制、前端生产构建防源码暴露。