背景
企业内部积累了大量文档(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 服务,流式输出提升了交互体验。
