RAG 与知识库

RAG 知识库从 0 到 1 的工程实践

记录一次基于文档切分、Embedding、向量检索、重排和大模型问答的完整 RAG 实践。

发布:2026/06/30更新:2026/06/30

背景

很多 AI 应用的第一步不是训练模型,而是让模型能够可靠地使用私有知识。RAG 的价值在于把外部知识检索和大模型生成连接起来,让回答既有上下文,也能保留引用来源。

目标

这次实践的目标是做出一个可以回答 Markdown 笔记内容的问题系统,并且支持来源引用、检索结果检查和 Prompt 迭代。

技术方案

整体链路分为五步:

  1. 文档清洗:去掉无效空行、私人信息和临时链接。
  2. 文档切分:按标题层级和语义段落切块。
  3. 向量化:使用 Embedding 模型生成向量。
  4. 检索与重排:先召回候选块,再按相关性重排。
  5. 答案生成:把问题、上下文和约束输入大模型。

实现过程

切分策略不能只看固定长度。对技术笔记来说,标题、代码块和列表常常代表语义边界。比较稳妥的做法是先按 Markdown 结构切,再对超长段落做二次切分。

遇到的问题

最常见的问题是召回内容看起来相关,但不足以回答问题。这时单纯调 Prompt 效果有限,更应该检查切分粒度、Embedding 模型、召回数量和重排策略。

结果

系统可以对指定笔记集合进行问答,并返回引用片段。对于事实型问题,引用来源能明显降低幻觉;对于总结型问题,答案质量主要依赖笔记本身的结构化程度。

复盘

RAG 工程里最容易被低估的是评估。后续应补充一组固定问题集,记录每次调整切分、召回和 Prompt 后的命中率与答案质量变化。

Reusable projects

关联可复用项目

本文已经进入以下工程项目;项目页提供固定版本、运行命令和结果工件。

讨论

正在加载评论...