RAG 的演进之路:
从“状态”到“记忆”
Dify × Milvus 联合技术分享
演讲者:郑立(Zheng Li)· Dify 开源生态负责人
Unstructured Data Meetup · 30 分钟
RAG 的真正价值:为 LLM 构建“记忆”
- LLM 擅长“计算”,参数承载的是训练期的静态知识。
- RAG 本质:为 LLM 挂载外部、动态的记忆(Memory)。
- 行业观点:RAG 是一个谱系。
- 核心问题:如何构建—管理—使用这份“记忆”?
RAG 演进谱系(Agenda)
- Naive RAG:简易“状态”检索
- Advanced RAG:系统性提升“状态”质量
- Agentic RAG:让“记忆”成为 Agent 的一部分
- Knowledge Pipeline:高质量“记忆”的生产线
阶段一 · Naive RAG(简单“状态”检索)
- 流程:Query → Embedding → 向量检索(Milvus)→ Chunks → LLM
- 痛点:语义割裂、检索噪音、Lost in the Middle
- 结论:能用但不好用 → 静态、低质量的“状态”
阶段二 · Advanced RAG(系统性提质)
三条硬原则
- 混合召回:向量 + 关键词/正则 + 元数据过滤;候选 100–300
- 先精排后组装:Cross-Encoder 或 LLM 精排 → Top 20–40
- 尊重 Context Rot:结构化、紧凑上下文胜过堆满窗口
上下文组装:指令优先、去重合并、多样化来源、严格 Token 上限
行业建议:第一阶段混合召回 200–300 候选也可行;随后务必 re‑rank 再组装上下文。
Dify 实践
- 父子文档检索:命中子块,回传父块,兼顾精准与上下文完整
- Reranking:Milvus 快召回 → 精排后再喂入 LLM
- 趋势:LLM 充当精排器 正在普及;成本/延迟下降后更偏向“brute‑force”式信息整理。
“别交付 RAG”,交付 检索
- 挑战:把方案叫“RAG”会掩盖关键设计取舍。
- 原语:dense、lexical/regex、filters、re‑rank、assembly、eval loop。
- 行动:先赢下第一阶段混合召回(200–300 候选也可)。
- 纪律:始终先精排,再组装上下文;尊重 Context Rot。
思考 · 精排的未来与权衡
- 趋势:LLM 充当精排器 将成主流;专用 re‑ranker 可能边缘化。
- 现实:并行 300 次 LLM 精排的尾延迟在今天仍是问题。
- 策略:短期混用(Cross‑Encoder + LLM);中期靠缓存/切分减少尾延迟。
- 远期:更廉价/更快的 LLM → brute‑force 信息整理变得可行。
阶段三 · Agentic RAG(从“状态”到“记忆”)
- RAG 由被动流程 → Agent 的主动工具
- 查询重写:先把问题问清楚,再去检索
- 多步推理/循环检索:基于中间结果决定下一步行动
- Dify:在 Agent 编排中将 RAG 工具化,支持规划→检索→反思→迭代
根基 · Knowledge Pipeline(“记忆”的生产线)
[Ingest]
- 解析 + 分块(领域感知:标题、代码块、表格)
- 富化:标题、锚点、符号、元数据
- 可选:块摘要(代码/API 的 NL gloss)
- 嵌入:向量(dense)+ 可选稀疏信号
- 写入 Milvus(文本、向量、元数据)
[Query]
- 第一阶段混合召回:向量 + 词法/正则 + 元数据过滤
- 候选池:约 100–300 → 精排至 Top 20–40
- 上下文组装:指令优先、去重合并、多样化、硬性 Token 上限
定律:Garbage In, Garbage Out
外环(Outer Loop):评估与运营闭环
- 缓存与成本护栏(Guardrails)
- 小规模黄金集(Gold Set)→ 接入 CI 与看板
- 误差分析:重分块/调过滤/精排 Prompt 调优
- 记忆压缩:将交互轨迹总结为可检索事实(Compaction)
实践贴士:花一个晚上(披萨之夜)打造小型 Gold Set,并接入 CI 与数据看板。
“一次处理,多处使用”
- 解耦:知识处理 ↔ 应用研发
- 复用:一个 Milvus 知识库服务多个 Dify 应用
- 质量:统一治理“记忆”,持续抬高上层应用上限
Dify × Milvus:各司其职,协同增效
Milvus = 记忆基座
- 存储/索引/高效召回向量与元数据
- 稳定、可靠、可扩展
Dify = 记忆与应用中台
- 知识管道:构建/管理/优化“记忆”(写入 Milvus)
- 应用引擎:编排与使用“记忆”(Advanced/Agentic RAG)
Dify 平台能力(一站式)
- 提示词工程与评测
- 知识管道:父子文档、混合召回、精排
- Agent 编排:工具化与可视化流程
- 全生命周期运营:日志、标注、分析
Knowledge Pipeline 的核心特性
企业级数据源集成
- 本地文件:支持 30+ 格式(PDF、Word、Excel 等)
- 云存储:Google Drive、S3、Azure Blob 等
- 在线文档:Notion、Confluence、SharePoint
- 网页爬虫:Firecrawl、Jina、Bright Data
可视化调试与编排
- 可视化编排:从源连接到文档处理的全流程
- 实时调试:逐步测试、检查中间变量
- 标准化处理:发布后进入规范化流程
预置模板与处理流程
- 通用文档处理:经济型索引,适合大批量处理
- 长文档处理:父子层级分块,保持精准度与全局语境
- 表格数据提取:结构化问答对构建
- 复杂 PDF 解析:针对性提取图表
- 多模态富化:使用 LLM 描述图表,提升检索效果
Pipeline 核心步骤:Extract(提取)→ Transform(转换)→ Load(加载)
企业级价值
降低门槛
- 业务团队可直接参与数据处理
- 可视化调试,快速定位问题
- 工程师专注核心开发工作
提升效率
- 处理流程模板化,可复用
- 灵活替换各环节组件
- 稳定架构,降低维护成本
愿景:让企业非结构化数据处理变得简单、可靠、高效
总结与行动
- RAG 正从“静态状态”进化为“动态记忆”。
- “记忆”的上限由知识管道与外环评估决定。
- Dify × Milvus 提供“记忆构建—存储—使用”的端到端路径。
谢谢
联系:banana@dify.ai · GitHub:dify