Skip to content

怎么读 ​

每篇先回答“它解决什么失败”,再读方法、实验和限制。不要把论文结论直接当产品配置;把数据集、检索器、生成模型和指标版本记录下来。

必读:建立共同语言 ​

1. RAG(Lewis et al., 2020) ​

2. DPR(Karpukhin et al., 2020) ​

  • 论文:Dense Passage Retrieval
  • 代码:facebookresearch/DPR
  • 核心:question/passage 双编码器。
  • 学习问题:负样本如何影响召回?
  • 学习问题:BM25 何时会胜过 dense retriever?
  • 动手:同一批问题比较 BM25、DPR、混合检索。
  • 输出:Recall@20 和错误案例各 10 条。

3. FiD(Izacard & Grave, 2021) ​

4. BEIR(Thakur et al., 2021) ​

  • 论文:BEIR: A Heterogeneous Benchmark
  • 代码:beir-cellar/beir
  • 核心:跨领域零样本检索评测。
  • 学习问题:为什么单一数据集排名不可靠?
  • 学习问题:nDCG@10 与 Recall@k 的使用场景有何不同?
  • 动手:固定模型跑两个领域,写一页误差分析。

5. Lost in the Middle(Liu et al., 2023) ​

  • 论文:Lost in the Middle
  • 学习问题:长上下文中间位置为什么容易被忽略?
  • 学习问题:top-k 变大是否必然更好?
  • 动手:把同一证据放在开头、中间、末尾,比较答案与引用。

必读:检索增强策略 ​

6. HyDE(Gao et al., 2022) ​

7. Self-RAG(Asai et al., 2023) ​

  • 论文:Self-RAG
  • 代码:AkariAsai/self-rag
  • 学习问题:模型何时决定检索?
  • 学习问题:reflection token 怎样参与生成控制?
  • 动手:给不可回答问题,检查是否减少无依据回答。

8. CRAG(Yan et al., 2024) ​

  • 论文:Corrective Retrieval Augmented Generation
  • 学习问题:检索质量评估器何时触发 web search 或纠正?
  • 学习问题:错误检索与无检索哪个更危险?
  • 动手:构造低相关 top-k,测试纠正分支。

9. GraphRAG(Edge et al., 2024) ​

  • 论文:From Local to Global
  • 代码:microsoft/graphrag
  • 学习问题:社区摘要如何回答全局问题?
  • 学习问题:图构建成本与增量更新如何控制?
  • 动手:同一语料跑 local/global query,各记录 token 成本。

10. RAGAS(Es et al., 2023) ​

进阶:系统设计与生产 ​

11. ColBERT(Khattab & Zaharia, 2020) ​

  • 论文:ColBERT
  • 学习问题:late interaction 为何在效率和精度间折中?
  • 动手:比较单向量与多向量索引内存。

12. Contriever(Izacard et al., 2022) ​

13. RAFT(Zhang et al., 2024) ​

14. LongRAG(可能的长文检索路线) ​

  • 入口:LongRAG 论文搜索
  • 学习问题:大 chunk 与重排如何改变上下文利用?
  • 注意:标题、版本和代码需在开课前复核,避免引用错误版本。

15. LLM 大规模检索综述 ​

原始官方资料 ​

  • LlamaIndex RAG 教程
    • 问题:哪些默认组件能替换?
    • 练习:替换 embedding 并保存索引版本。
  • LangChain RAG 教程
    • 问题:Runnable 边界在哪里?
    • 练习:让 retriever 独立返回 source metadata。
  • Haystack 文档
    • 问题:pipeline 如何序列化和观测?
    • 练习:给每个组件记录耗时。
  • Qdrant 文档
    • 问题:payload filter 如何保证租户隔离?
    • 练习:写越权测试。
  • FlagEmbedding README
    • 问题:embedding 与 reranker 的输入输出是什么?
    • 练习:比较 dense、sparse、rerank 三段式。
  • RAGFlow README
    • 问题:解析器如何保留表格和页码?
    • 练习:导入复杂 PDF 并抽查引用。

课程复盘模板 ​

每读一篇材料,填写:

  1. 目标任务和数据集是什么?
  2. 检索器、生成器、上下文长度分别是什么?
  3. 基线是否公平、指标是否匹配?
  4. 失败案例属于召回、排序、生成还是评估偏差?
  5. 哪个结论能转为一个最小实验?
  6. 许可、模型权重和数据集条款是什么?
  7. 上线时要增加哪些日志、限流和权限检查?

八周阅读与实验节奏 ​

  • 第 1 周:RAG、DPR、BEIR,完成 BM25 vs dense。
  • 第 2 周:FiD、Lost in the Middle,完成上下文位置实验。
  • 第 3 周:HyDE、ColBERT,完成查询改写与 late interaction 对比。
  • 第 4 周:Self-RAG、CRAG,完成检索门控和纠正分支。
  • 第 5 周:RAGAS,建立 golden set 与人工校准。
  • 第 6 周:GraphRAG,比较 local/global 与普通检索。
  • 第 7 周:阅读 LlamaIndex、LangChain、Haystack 官方教程,完成同一接口适配。
  • 第 8 周:Qdrant/pgvector 部署演练、备份恢复、越权和 prompt injection 测试。

引用与核验说明 ​

论文链接优先使用 arXiv 原文;代码链接指向作者或组织的 GitHub。论文实验结果不能直接代表当前模型效果,课程应锁定 commit、依赖、模型和数据版本。本文未逐项核实所有仓库在 2026-10-17 的归档状态与许可证,尤其 LongRAG、部分社区实现和模型权重,部署或发表前必须重新打开官方 LICENSE 与 release 页面。

评论

正在加载评论…