# RAG **Repository Path**: dark2000/RAG ## Basic Information - **Project Name**: RAG - **Description**: 企业知识库管理系统是一个集成了文档管理、向量检索和数据库查询的智能知识管理解决方案,支持结构化数据与非结构化文档的统一管理和智能查询。 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 0 - **Created**: 2025-10-08 - **Last Updated**: 2026-01-17 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 企业知识库管理系统 企业知识库管理系统是一个集成了文档管理、向量检索和数据库查询的智能知识管理解决方案,支持结构化数据与非结构化文档的统一管理和智能查询。 ## 核心特性 * **多格式文档支持** :批量导入与增量更新多种格式文档 * **智能语义检索** :基于向量的语义检索,支持相似性匹配 * **结构化数据集成** :集成结构化数据库查询,支持复杂业务数据统计分析 * **智能查询路由** :自动判断查询应转向文档检索还是数据库查询 * **多模式查询** :支持知识库查询、数据库查询、智能融合查询和多轮对话 * **Schema 管理** :完善的数据库 Schema 管理与查询功能 ## 快速开始 ### 环境要求 * Python 3.8+ * 依赖库:详见 `requirements.txt` * API 密钥:需要配置 DashScope API 密钥(用于 LLM 和嵌入模型) ### 安装部署 1. **克隆项目** **bash** ``` git clone cd enterprise-knowledge-base ``` 2. **安装依赖** **bash** ``` pip install -r requirements.txt ``` 3. **配置 API 密钥** **bash** ``` # 方式一:环境变量配置 export DASHSCOPE_API_KEY="your_api_key_here" # 方式二:配置文件方式 echo "DASHSCOPE_API_KEY = 'your_api_key_here'" > config.py ``` 4. **Git操作** **bash** ```shell # 1.check 特征分支,feature代表特征,Integrate-query-with-smart_query本次特征分支的内容 git checkout -b feature/Integrate-query-with-smart_query # 2.如果 Gitee 提示存在冲突,在本地解决: git checkout main git pull origin main git merge feature/Integrate-query-with-smart_query git push origin main # 3.解决冲突后 git add . git commit -m "合并feature/Integrate-query-with-smart_query到main" git push origin main # 4. 清理分支(可选) git branch -d feature/Integrate-query-with-smart_query git push origin --delete feature/Integrate-query-with-smart_query # 5.打标签 git tag -a v0.1.2 -m "发布版本 0.1.2:日志结构优化成功" git push origin v0.1.2 ``` ## 使用指南 ### 📚 知识库操作 **构建知识库** **bash** ``` # 首次构建或增量更新 python rag_kg.py build # 强制重建(覆盖现有索引) python rag_kg.py build --force ``` **查询操作** **bash** ``` # 智能融合查询(自动结合数据库和知识库) python rag_kg.py query -q "黄睿负责的产品的详细介绍" python rag_kg.py query -q "商机金额统计和销售流程规范" -v # 纯知识库查询 python rag_kg.py kg-query -q "差旅报销政策" # 纯数据库查询 python rag_kg.py db-query -q "2025年项目统计" ``` **交互式对话** **bash** ``` # 多轮对话(默认融合查询) python rag_kg.py chat # 多轮对话(仅知识库查询) python rag_kg.py chat --kg-only # 多轮对话(详细模式) python rag_kg.py chat -v ``` ### 🗃️ 数据库管理 **数据库操作组合** **bash** ``` # 完全重建数据库(结构+数据+描述+索引) python rag_kg.py manage-db --rdb --rdata --rschema --rindex # 重新加载数据并更新描述和索引 python rag_kg.py manage-db --rdata --rschema --rindex # 重新构建描述文件和索引 python rag_kg.py manage-db --rschema --rindex # 仅重新构建索引 python rag_kg.py manage-db --rindex ``` ### 🔍 Schema 管理 **bash** ``` # 查询数据库Schema python rag_kg.py query-schema -q "员工表包含哪些字段?" # 详细Schema查询 python rag_kg.py query-schema -q "项目表和产品表有什么关系?" -v # 显示Schema信息 python rag_kg.py schema-info ``` ## 查询模式说明 ### 🤖 智能融合查询 (`query`) * **功能** :自动分析用户问题,智能结合数据库结构化数据和知识库文档信息 * **适用场景** :需要综合业务数据和政策文档的复杂查询 * **示例** :`python rag_kg.py query -q "商机金额统计和销售流程规范"` ### 📖 知识库查询 (`kg-query`) * **功能** :仅从文档知识库中检索信息 * **适用场景** :政策查询、制度规范、产品文档等 * **示例** :`python rag_kg.py kg-query -q "差旅报销政策"` ### 🗃️ 数据库查询 (`db-query`) * **功能** :仅从结构化数据库中查询数据 * **适用场景** :业务统计、数据分析、报表查询等 * **示例** :`python rag_kg.py db-query -q "2025年项目统计"` ### 💬 多轮对话 (`chat`) * **功能** :交互式对话模式,支持上下文记忆 * **模式选择** : * 默认:智能融合模式 * `--kg-only`:仅知识库模式 * **示例** :`python rag_kg.py chat --kg-only` ## 配置管理 系统支持灵活的配置方式,核心配置项如下: | 配置项 | 用途 | 配置方式 | 默认值 | | --------------------- | ------------------ | ----------------- | ---------------- | | `DASHSCOPE_API_KEY` | DashScope API 密钥 | 环境变量/配置文件 | 无 | | `BAILIAN_API_KEY` | 百炼 API 密钥 | 环境变量/配置文件 | 无 | | `NLTK_DATA` | NLTK 数据目录 | 环境变量 | `~/.nltk_data` | | `persist_dir` | 向量数据库路径 | 代码配置 | 无 | **环境变量配置示例:** **bash** ``` # Linux/Mac export DASHSCOPE_API_KEY="your_api_key_here" # Windows PowerShell $env:DASHSCOPE_API_KEY = "your_api_key_here" ``` ## 项目结构 **text** ``` enterprise-knowledge-base/ ├── config/ # 配置管理 ├── util/ # 工具函数 ├── knowledge/ # 知识库核心 │ ├── core/ # 主应用类 │ ├── base/ # 基础配置 │ ├── database/ # 数据库管理 │ ├── processors/ # 文档处理器 │ ├── vector/ # 向量存储 │ └── query/ # 查询引擎 ├── resource/ # 知识库文档目录 ├── database/ # 数据库文件及Schema ├── rag_kg.py # 主程序入口 ├── README.md # 项目文档 └── requirements.txt # 依赖清单 ``` ## 故障排除 **Q: 构建知识库时提示 API 密钥错误?** A: 确认已正确配置 DashScope API 密钥,可通过环境变量或 config.py 文件设置。 **Q: 知识库查询结果为空?** A: 检查知识库构建是否成功,确保 resource 目录包含支持格式的文档。 **Q: 数据库操作失败?** A: 检查数据库文件权限,尝试使用 `--rdb` 参数重建数据库结构。 **Q: 如何添加新文档?** A: 将文档放入 resource 目录,执行 `python rag_kg.py build` 进行增量更新。 **Q: 不同查询模式有什么区别?** A: * `query`: 智能融合,适合综合性问题 * `kg-query`: 仅文档检索,适合政策制度 * `db-query`: 仅数据查询,适合业务统计 * `chat`: 交互对话,适合多轮探讨 --- *详细技术文档请参阅:docs/*