EduRAG 双层检索
EduRAG 是针对教育场景优化的 RAG 架构,通过粗排 + 精排两层检索提升答案准确性和教学适配性。
架构
用户问题 → 粗排(BM25/Embedding)→ 候选文档集 → 精排(教学适配度)→ 最终文档 → LLM 生成答案第一层:粗排
| 方法 | 特点 | 适用场景 |
|---|---|---|
| BM25 | 基于词频统计,无需训练 | 通用文档检索 |
| Dense Retrieval | 双塔编码器,语义匹配 | 同义表达多的场景 |
| Hybrid | BM25 + 向量加权 | 兼顾召回和语义 |
第二层:精排
教学适配度评分,综合以下维度:
| 维度 | 说明 |
|---|---|
| 知识覆盖度 | 候选文档是否覆盖问题核心知识点 |
| 难度匹配 | 文档难度是否适合学生当前水平 |
| 教学逻辑性 | 文档是否遵循教学顺序(先概念后例题) |
| 权威性 | 来源是否权威(教材 > 百科 > 论坛) |
实现方案
- 粗排:Elasticsearch(BM25) + FAISS(向量检索)
- 精排:微调的小模型(如 MiniLM)或规则打分
- 缓存:高频问题缓存检索结果,降低延迟
优势
相比单层检索,双层检索在保证召回率的同时显著提升答案质量,尤其适合教育、医疗等对准确性要求高的垂直领域。