{"repo":"Happy-Chen-CH/Educational_RAG_System","free":true,"listed":false,"github":"https://github.com/Happy-Chen-CH/Educational_RAG_System","clone":"git clone https://github.com/Happy-Chen-CH/Educational_RAG_System.git","description":"End-to-end educational RAG system: dual-engine retrieval (BM25 + BGE-M3 hybrid vector search), adaptive query strategies (HyDE/sub-query/backtracking), BERT intent classification, BGE-Reranker precision ranking, Chinese-optimized text splitting, and FastAPI SSE streaming — from documents to real-time answers.","language":"Python","stars":124,"topics":["ai","llm","milvus","mysql","python","rag","redis"],"license":null,"category":"ai-agents","readme_excerpt":"🎓 EduRAG — 教育领域智能问答系统 一个面向教育场景的 RAG (检索增强生成) 智能问答系统，融合关键词匹配与语义检索双引擎， 支持多种文档格式、自动查询分类、智能策略选择与流式 LLM 答案生成。 --- 📖 目录 - 系统架构 - 核心特性 - 项目结构 - 查询流程 - 环境要求 - 快速开始 - 1. 克隆项目 - 2. 安装依赖 - 3. 配置服务 - 4. 导入数据 - 5. 运行系统 - 配置说明 - RAG 检索策略 - 技术栈 - 常见问题 --- 🏗 系统架构 两级检索策略： 1. 第一级 — BM25 关键词匹配 ：对已有明确问答对，直接通过关键词匹配快速返回精确答案 2. 第二级 — RAG 语义检索 ：当关键词匹配置信度不足时，自动进入深度语义检索流程 --- ✨ 核心特性 特性 说明 --- --- 🔍 两级检索 BM25 关键词匹配（快速）+ Milvus 混合向量检索（深度语义） 🧠 智能查询分类 微调 BERT 模型自动判断「通用知识」/「专业咨询」，避免无意义检索 🎯 四种检索策略 直接检索、HyDE、子查询分解、回溯简化 — LLM 自动选择最优策略 📊 混合检索 + 精排 BGE-M3 稠密 + 稀疏双路检索 → BGE-Reranker Cross-Encoder 重排序 📄 多格式文档支持 PDF、DOCX、PPT/PPTX、PNG/JPG（OCR）、TXT、Markdown ✂️ 父子块切分 小块检索（高精度）+ 大块返回（完整上下文），兼顾精度与召回 💬 多轮对话 MySQL 持久化存储会话历史，支持上下文连续对话 ⚡ Redis 缓存 预计算分词结果缓存 + 热门查询答案缓存，加速重复查询 🔌 模型在线下载 BERT/BGE/文档分割模型通过 HuggingFace/ModelScope 首次自动下载 🛡️ 环境变量注入 支持通过环境变量覆盖敏感配置，适配容器化部署 --- 📁 项目结构 --- 🔄 查询流程 --- 📋 环境要求 组件 版本要求 用途 --- --- --- Python 3.9+ 运行环境 MySQL 8.0+ 问答对存储 + 对话历史 Redis 7.0+ 分词缓存 + 答案缓存 Milvus 2.5+ 向量存储与混合检索 DashScope API Key — LLM 调用（阿里云灵积） 💡 模型说明： 所有深度学习模型（BGE-M3、BGE-Reranker、BERT、文档分割模型）首次运行时通过 HuggingFace/ModelScope 自动下载，无需手动下载模型文件。 --- 🚀 快速开始 1. 克隆项目 2. 安装依赖 本项目使用 uv 管理依赖，首次使用请先安装 uv： 然后一键同步所有依赖： ⚠️ 依赖包含 PyTorch、Transformers 等大型框架，约需 3–5 分钟。uv 自动创建隔离的虚拟环境 ( .venv/ )。 运行系统： 3. 配置服务 创建配置文件： 编辑 config.ini ，填入真实值： 🔒 安全提示： 也可以使用环境变量注入敏感信息（如 DASHSCOPE API KEY ），环境变量优先级高于 config.ini 。详见 base/config.py 。 启动基础服务（以 Docker 为例）： 4. 导入数据 MySQL 问答数据（BM25 检索用）： 知识库文档（RAG 语义检索用）： 5. 运行系统 方式一：集成问答系统（推荐） 方式二：仅 RAG 语义检索 方式三：仅 ","default_branch":null,"files":null,"tree":[],"storefront":"/r/Happy-Chen-CH","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/Happy-Chen-CH/Educational_RAG_System/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}