基于 RAG (Retrieval-Augmented Generation) 架构的智能问答平台,支持多文档格式的知识库管理、智能检索和上下文感知的对话生成。
- 🎯 精准检索:混合检索(向量 + BM25)+ 语义重排序
- 🔒 安全可靠:JWT 认证、用户数据隔离
- 📱 多端支持:PC 端(KivyMD)和 Android 移动端
- 🚀 高性能:LangGraph 工作流引擎、智能缓存
- 📚 多格式支持:PDF、DOCX、TXT、CSV、Excel 等
- 后端:FastAPI + LangChain + LangGraph + ChromaDB
- 前端:KivyMD (PC) / Android APK
- 数据库:MySQL (用户/历史) + ChromaDB (向量索引)
- LLM:阿里云 DashScope (Qwen-Max)
- Python 3.10+
- MySQL 5.7+
- 阿里云 DashScope API Key
# 创建虚拟环境
python -m venv bert_env
# 激活虚拟环境
# Windows:
bert_env\Scripts\activate
# Linux/Mac:
source bert_env/bin/activate
# 安装依赖
pip install -r requirements.txt创建 .env 文件:
DASHSCOPE_API_KEY=your-api-key-here# 初始化数据库表
python init_user.py# 启动后端服务器
python server.py
# 启动客户端(新终端)
python main.py- 产品报告 - 完整的产品介绍和技术文档
- 构建指南 - Android APK 构建说明
- Colab 构建指南 - 在 Google Colab 上构建 APK
- ✅ 用户注册/登录(JWT 认证)
- ✅ 多格式文件上传(PDF、DOCX、TXT 等)
- ✅ 智能问答(混合检索 + 语义重排序)
- ✅ 多轮对话(上下文记忆)
- ✅ 聊天历史管理
- ✅ 思考过程可视化
qwen_rag/
├── app/ # 核心应用模块
│ ├── auth.py # 认证模块
│ ├── chains.py # LLM Chain 定义
│ ├── graph.py # LangGraph 工作流
│ ├── retriever.py # 检索模块
│ ├── loader.py # 文档加载器
│ └── rag_core.py # RAG 核心功能
├── server.py # FastAPI 后端服务
├── main.py # KivyMD 客户端
├── requirements.txt # 依赖列表
└── README.md # 本文件
- API Key:请妥善保管你的
DASHSCOPE_API_KEY,不要提交到 Git - 数据库配置:修改
server.py中的数据库连接信息 - 敏感数据:不要上传包含敏感信息的文件到仓库
本项目仅供学习和研究使用。
欢迎提交 Issue 和 Pull Request!
版本: V 1.3.0 Plus
最后更新: 2026-01-23