作品 / 知识库问答系统
AI 应用 · AI2025NO.11

知识库问答系统

基于 RAG 的轻量知识库问答系统

Vue3PythonFlaskChromaDBSQLite
知识库问答系统 界面截图
1 / 3
智能问答

缘起

手边有一份几百页的行业文档,找一个数字翻了二十分钟没翻到,最后是同事一句「好像在第三章后面」解决的。那会儿正好在玩向量检索,就拿它试了一次:把文档切块灌进去,问一句,它把那句话连同出处一起还给我。

这个系统就是那次试验的正式版。

背景

企业里的文档其实不缺,缺的是「问得出来」:格式杂(txt、md、pdf、docx 混着来),同一件事在制度文件、会议纪要和群公告里各有一版且互相矛盾,新人和跨部门的人不知道该问谁,关键的人一离职知识就跟着走。纯关键词搜索解决不了表述不一致的问题,而直接让大模型回答又会编。所以要的是检索增强这条链路:解析入库、切块与向量化、命中后带原文出处回答,答不上来就明说没有,而不是猜一个。

方案

构建了支持多种文档格式的 RAG 问答系统:

  • 文档上传:支持 .txt、.md、.pdf、.docx 格式
  • RAG 流水线:文本分块 → 向量嵌入 → 向量检索 → 约束生成
  • 多轮对话:会话管理和历史恢复,支持上下文理解
  • 流式输出:SSE 流式响应,支持中途取消
  • 多模型支持:智谱 AI、字节豆包、阿里通义、MiniMax,以及任意 OpenAI 兼容 API
  • 动态切换:运行时动态切换模型,无需重启

技术架构

模块技术选型
前端Vue3 + Vite + Pinia + Vue Router + Axios
后端Python + Flask + Flask-SQLAlchemy + Flask-JWT-Extended
数据库SQLite + ChromaDB(向量库)
AI多家国产大模型 + OpenAI 兼容接口

支持 Docker Compose 一键部署,配置从旧格式自动迁移到数据库存储。

成果

为企业提供了一套开箱即用的知识库问答解决方案。多模型支持让用户可以选择性价比最优的 AI 服务,流式输出提升了交互体验。

有类似的事要管?

说说现在是怎么做的——Excel、微信群、纸质单子都行。我判断能不能做、大概怎么做。

聊聊你的需求