deepset-ai/haystack
打开原仓库 Haystack
阅读组件化检索流水线,从 BM25 开始理解 RAG 的检索半程。
进阶Apache-2.0学习估计 5–8 小时尚未记录
本次学习产物
修改 BM25 检索示例,加入空检索与参数对照。
开始前
Python、组件输入输出;了解检索。
运行环境CPU;本课使用内存文档库和 BM25,不配置生成模型。
STEP 01 / 04
读懂源码
先看 bm25_retriever.py 的输入与输出,再从 core/pipeline/pipeline.py 跟踪组件连接与执行。
从这两个入口读起
haystack/core/pipeline/pipeline.py先定位主要行为
haystack/components/retrievers/in_memory/bm25_retriever.py再追踪关联实现
先在纸上画出输入 → 处理 → 输出,再用断点或日志验证调用顺序。记录你读到的函数名与行号,不要求通读整个仓库。
准备自己的源码副本
git clone https://github.com/deepset-ai/haystack.git
cd haystack
git checkout bfa8e37e8b3c3262318f1d48f9e1a03a42ed3d42
git switch -c study/haystack在新的学习目录运行;固定提交用于对应源码导读,不承诺它是最新稳定发行版。
留下这一步的学习依据
访客手记仅保存在此浏览器;登录后可主动导入到账号,原件保留。清除浏览器数据前请导出。不保存密钥或敏感资料。
修订历史 0 版
保存会追加历史,保留之前的失败与修订依据;访客最多 50 版,不自动清理。
还没有保存记录。可以先记录一个问题,再慢慢修订。