RAG 管线
TrustRAG 的检索增强生成管线由文档摄入、检索、生成三个阶段组成。
文档摄入
text
文档上传 → 格式解析 → 文本分块 → 索引存储格式解析
由 Python doc-processor 服务处理:
| 格式 | 解析器 | 支持特性 |
|---|---|---|
| PyMuPDF | 文本提取、页码保留 | |
| DOCX | python-docx | 段落结构保留 |
| TXT | 内置 | 按行/段落分割 |
文本分块
- 按语义段落分割,保留上下文
- 每个分块记录来源信息(文件名、页码、段落位置)
- 分块大小可配置
索引
- 桌面模式:插入 FTS5 虚拟表
- 服务器模式:生成向量嵌入,存入 pgvector
检索阶段
text
用户提问 → 查询处理 → 段落检索 → 排序过滤 → Top-K 结果桌面模式检索
- FTS5 全文搜索
- BM25 相关度排序
- 支持中文分词
服务器模式检索
- 向量相似度搜索(余弦相似度)
- 可选:混合检索(向量 + 全文)
- 可调节检索数量
生成阶段
text
检索结果 → 上下文组装 → Prompt 构建 → LLM 调用 → 引用标记 → 输出- 将检索到的段落作为上下文注入 Prompt
- 指导 LLM 在回答中标注引用来源
- 支持流式输出
- 解析输出中的引用标记,建立映射
