从零手写 RAG 引擎:Markdown 分块、BM25 混合检索与 RRF 融合
作者在 W4 教程中从零手写一套完整 RAG 引擎,让 Agent 接入企业私有文档。实现包括按 Markdown 标题层级生成面包屑并带滑动重叠窗口的分块器、纯 TypeScript 的余弦相似度与内存向量库、手写 BM25 关键词检索,以及用 RRF 倒数排序融合两路结果,默认 k=60、初筛 20 条再精排 Top-5。
能拿走一套手写 RAG 全链路,含 Markdown 标题面包屑分块加句子级 overlap、BM25 与余弦双路 RRF 融合、追问改写和 LLM-as-Judge 评分,可直接替换现有单路向量检索;代价是分词只按空白与中文标点切,中文召回质量有限。