Skip to content
inferred from GitHub

Hybrid Retrieval QA System

面向企业内部知识库的智能问答系统,旨在解决员工在海量政策文档、技术手册中信息查找困难、耗时漫长的痛点,通过RAG技术将文档‘激活’,提供精准、高效的7x24小时问答服务。

Core trick

BERT classifies each query, sending simple ones to MySQL BM25 keyword search and complex ones to a RAG pipeline with LLM generation.

Evidence

README matched ""Cerebral Valley" "Opus 4.6"": docs/ko-KR/README.md

Tags

spongebobgit/Hybrid-Retrieval-QA-System★ 30 forksJavaScriptMITCreated Mar 24, 2026 · last push Mar 26, 2026

README excerpt

# Hybrid-Retrieval-QA-System 🚀

[![Python](https://img.shields.io/badge/Python-3.10+-blue.svg)](https://www.python.org/)
[![FastAPI](https://img.shields.io/badge/FastAPI-0.115+-green.svg)](https://fastapi.tiangolo.com/)
[![License](https://img.shields.io/badge/License-MIT-yellow.svg)](LICENSE)

> **混合检索问答系统**:结合RAG语义理解与MySQL关键词检索的智能知识助手,专为教育领域优化

## 📋 目录
- [核心特性](#-核心特性)
- [系统架构](#-系统架构)
- [技术栈](#-技术栈)
- [快速开始](#-快速开始)
- [API文档](#-api文档)
- [性能指标](#-性能指标)
- [项目结构](#-项目结构)
- [开发指南](#-开发指南)
- [常见问题](#-常见问题)
- [许可证](#-许可证)

## ✨ 核心特性

### 🔍 **混合检索智能路由**
- **简单查询** → MySQL BM25关键词检索(<100ms响应)
- **复杂查询** → RAG语义理解 + LLM生成(1-3s响应)
- **智能分类** → BERT模型自动判断问题复杂度
- **会话记忆** → 基于上下文的连贯对话支持

### 📄 **企业级文档管理**
- **全格式支持**:PDF、Word、PPT、图片OCR、Markdown
- **批量处理**:ZIP压缩包自动解压 & 处理
- **日志审计**:完整的上传、操作、回滚记录
- **安全防护**:文件名校验、路径遍历防护、事务回滚

### 🌐 **生产级API设计**
- **RESTful API**:标准HTTP接口
- **WebSocket**:实时流式问答支持
- **完整CRUD**:知识库增删改查全操作
- **健康检查**:系统状态监控端点

### 🛡️ **可靠性保障**
- **错误回滚**:误操作一键恢复
- **性能监控**:QPS、响应时间、错误率实时监控
- **容错设计**:服务降级、自动重试、超时控制
- **数据安全**:敏感信息脱敏、API密钥保护

## 🏗️ 系统架构

```mermaid
graph TB
    %% 用户层
    User[👤 用户] --> Web[🌐 Web界面]
    User --> CLI[💻 CLI工具]
    User --> API[🔌 API调用]

    %% API网关层
    Web --> Router[🔄 路由网关]
    CLI --> Router
    API --> Router

    %% 查询分类层
    Router --> Classifier{🤖 BERT分类器}
    Classifier -->|简单/事实型| BM25[🔍 MySQL BM25检索]
    Classifier -->|复杂/推理型| RAG[🧠 RAG引擎]

    %% MySQL检索分支
    BM25 --> MySQL[(🗄️ MySQL知识库)]
    MySQL --> Cache1[⚡ Redis缓存]
    Cache