RAG 流水线总览
本章充当导航:快速把握系统各阶段职责,并指向后续详细章节。核心链路:内容 → 向量化 → 索引 → 检索 → Prompt → 回答。带你快速了解 RAG 流水线的整体架构与各模块分工,帮助建立全局认知。
总体架构流程图
下方列举了 RAG 流水线的主要处理步骤,涵盖从内容接入到答案生成的完整流程:
- Markdown 内容
- 解析 + Front-matter
- 分块 chunkText
- 批量嵌入(Gemini/Qwen)
- 向量规整/裁剪
- 批量 Upsert Vectorize
- 检索(查询 + 过滤 + 回退)
- 上下文拼装
- Prompt 构建
- LLM 生成
- 引用 + 答案返回
各环节紧密衔接,确保内容高效流转与处理。
模块职责速览
下表简要梳理了各阶段的主要职责及关注点,便于快速定位后续章节:
阶段 | 章节 | 主要职责 | 关键点 |
---|---|---|---|
分块 | 向量映射 | Markdown → 标题/句级切分 | 语义保持 + 长度控制 |
嵌入 | Qwen 嵌入 | 批量/并发/维度规整 | 成本与吞吐平衡 |
存储 | 数据结构 | Schema 最小化 / ID / URL 规范 | 控制容量 + 语言标记 |
检索 | 检索流程 | 语言优先 + 回退 | 低延迟 + 召回稳健 |
生成 | 答案生成 | Prompt 组装 + LLM 调用 | 上下文相关性与引用 |
维护 | 重建索引 | 全量重建流程与指标 | 模型/策略升级支持 |
关键参数一览
流水线各环节涉及多个关键参数,以下表格汇总常用配置及示例:
名称 | 描述 | 示例 |
---|---|---|
EMBED_DIM | 向量维度(索引/模型一致) | 1024 |
EMBEDDING_BATCH_SIZE | 单次嵌入批大小 | 10 (Qwen) / 1 (Gemini) |
UPLOAD_BATCH_SIZE | /admin/upsert 每批项目数 | 300 |
MAX_CONCURRENT_FILES | 文件并行解析上限 | 15 |
MAX_CONCURRENT_EMBEDDINGS | 并发嵌入请求上限 | 25 |
topK | 检索返回片段数 | 8 |
合理设置参数有助于提升系统性能与稳定性。
语言策略概述
RAG 流水线支持多语言内容处理,以下简要介绍语言相关的核心策略:
- Ingest 写入
language
- 查询先 metadata 过滤,失败回退全量
- URL 二次过滤(/en/ 前缀)
- Prompt 指令与标签双语化
- 源链接返回保持原语言路径结构
多语言机制确保检索与生成环节的准确性和一致性。
常见演进路线
系统可持续演进,常见优化方向如下:
- 引入增量更新(文件 hash / mtime)
- Rerank 二阶段重排
- 条件删除接口 & 过期策略
- 上下文压缩(语义聚合 + 动态裁剪)
- 多模型路由(按主题/语言切换嵌入提供方)
这些策略有助于提升系统扩展性与灵活性。
小结
通过模块解耦与批量/并发优化,RAG 流水线实现了高效可扩展的端到端处理。后续章节将详细介绍各环节的实现细节与优化策略。