Skip to content

chenncy/rag

Repository files navigation

企业级智能知识库问答系统

基于 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)

📋 快速开始

1. 环境要求

  • Python 3.10+
  • MySQL 5.7+
  • 阿里云 DashScope API Key

2. 安装依赖

# 创建虚拟环境
python -m venv bert_env

# 激活虚拟环境
# Windows:
bert_env\Scripts\activate
# Linux/Mac:
source bert_env/bin/activate

# 安装依赖
pip install -r requirements.txt

3. 配置环境变量

创建 .env 文件:

DASHSCOPE_API_KEY=your-api-key-here

4. 初始化数据库

# 初始化数据库表
python init_user.py

5. 启动服务

# 启动后端服务器
python server.py

# 启动客户端(新终端)
python main.py

📖 文档

🔧 主要功能

  • ✅ 用户注册/登录(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             # 本文件

⚠️ 注意事项

  1. API Key:请妥善保管你的 DASHSCOPE_API_KEY,不要提交到 Git
  2. 数据库配置:修改 server.py 中的数据库连接信息
  3. 敏感数据:不要上传包含敏感信息的文件到仓库

📄 许可证

本项目仅供学习和研究使用。

👥 贡献

欢迎提交 Issue 和 Pull Request!


版本: V 1.3.0 Plus
最后更新: 2026-01-23

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors