# db-rag **Repository Path**: Marfars/db-rag ## Basic Information - **Project Name**: db-rag - **Description**: nothing to say - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-07-07 - **Last Updated**: 2025-07-15 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Niche Database SQL RAG Project 基于 RAG (Retrieval-Augmented Generation) 技术的小众数据库 SQL 智能问答系统,专门针对社区资源稀缺的专业数据库,通过 RAG 技术提升回答准确性。 ## 功能特点 - 📚 基于官方文档的准确回答 - 🔍 智能检索和语义理解 - 💡 SQL 语法验证和示例 - 🚀 快速响应和高准确率 - 📁 多文档支持和管理 - 👥 用户系统和权限控制 - 📊 查询历史和分析统计 ## 快速开始 ### 环境要求 - Python 3.11+ - 至少 4GB RAM - 数据库厂商的官方 PDF 文档 ### 安装步骤 1. 克隆项目 ```bash git clone cd niche-database-sql-rag ``` 2. 创建虚拟环境 ```bash python3.11 -m venv venv source venv/bin/activate # Windows: venv\Scripts\activate ``` 3. 安装依赖 ```bash pip install -r requirements.txt ``` 4. 配置环境变量 ```bash cp .env.example .env # 编辑 .env 文件,填入你的 API 密钥 ``` 5. 初始化数据库 ```bash # 使用 Flask-Migrate 初始化数据库迁移 python scripts/setup_migration.py # 或者直接初始化数据库 python scripts/init_database.py ``` 6. 准备文档 将数据库厂商的 PDF 文档放入 `data/raw_docs/database_manuals/` 目录 7. 初始化向量数据库 ```bash # 初始化ChromaDB向量数据库 python scripts/init_vectordb.py # 可选:使用自定义配置 python scripts/init_vectordb.py --collection-name custom_docs --persist-dir ./custom_vectorstore # 强制重新初始化(清空现有数据) python scripts/init_vectordb.py --force-reset ``` 8. 处理文档(可选) ```bash python scripts/process_documents.py ``` 9. 运行应用 ```bash python run.py ``` ## 项目结构 ``` niche-sql-rag/ ├── app/ # 主应用代码 │ ├── api/ # REST API 接口 │ ├── core/ # 核心业务逻辑 │ ├── models/ # 数据库实体 │ └── services/ # 服务层 ├── configs/ # 配置文件 ├── data/ # 数据存储 │ ├── processed/ # 处理后数据 │ └── raw_docs/ # 原始文档 ├── database/ # SQLite 数据库文件 ├── migrations/ # 数据库迁移文件 ├── scripts/ # 工具脚本 ├── tests/ # 测试文件 └── vectorstore/ # 向量数据库 ``` ## 开发路线图 - [✅] 阶段 0: 项目初始化 - [✅] 阶段 1: 基础 RAG 搭建 (已完成) - [ ] 阶段 2: 文档管理与用户系统 - [ ] 阶段 3: 数据库特化优化 - [ ] 阶段 4: 检索质量提升 - [ ] 阶段 5: 用户体验优化 - [ ] 阶段 6: 高级功能 ## 数据库管理 ### 迁移管理 使用 Flask-Migrate 进行数据库版本管理: ```bash # 初始化迁移环境 python scripts/setup_migration.py # 创建新迁移 flask db migrate -m "迁移描述" # 应用迁移 flask db upgrade # 回滚迁移 flask db downgrade # 查看迁移历史 flask db history ``` ### 数据库表 - `users` - 用户信息和权限管理 - `documents` - 文档元数据管理 - `query_history` - 用户查询历史记录 - `processing_status` - 文档处理进度跟踪 ## 环境配置 主要配置项: ```bash # 数据库配置 DATABASE_URL=sqlite:///./database/niche_sql_rag.db DATABASE_ECHO=False # 大语言模型 QWEN_API_URL=https://your-qwen-api-endpoint QWEN_API_KEY=your-qwen-api-key QWEN_MODEL=qwen-turbo # 向量数据库 CHROMA_PERSIST_DIRECTORY=./vectorstore CHROMA_COLLECTION_NAME=database_sql_docs ``` ## 贡献指南 欢迎提交 Issue 和 Pull Request! ## 许可证 仅供内部使用,请勿用于商业目的。