RAG 实战入门:从零搭建检索增强生成


RAG(Retrieval-Augmented Generation) 将“外部知识检索”与“生成式模型”结合,兼顾准确性与可追溯性,适用于企业知识库问答、报表问答、复杂检索答疑等场景。

一、数据与切分

  • 数据清洗:去除噪声、水印、无用页眉页脚,抽取结构(标题/段落/表格)。
  • 切分策略:定长切分(500–1000 tokens)+ 重叠(50–200),或按段落/标题结构切分。
  • 元数据:为每个块记录来源、页码、章节,便于过滤与引用。

二、Embedding 与索引

  • 模型选择:通用(text-embedding-3)、中文优化(bge-*)或领域定制模型。
  • 向量库:PostgreSQL + pgvector、Milvus、Weaviate、FAISS 均可;根据规模与预算选型。
  • 索引构建:批量向量化 + 建立 ANN 索引;定期增量更新。

三、检索与重排

  • 召回:向量相似度检索;必要时与 BM25 混合检索。
  • 重排:用 cross-encoder 对前 N 片段重新排序,提升前 K 的质量。
  • 过滤:结合元数据做文档/时间/权限过滤,减少误召回。

四、提示与引用

  • 提示模板:将检索片段与问题注入,要求“仅基于上下文作答,并在结尾列出【引用】”。
  • 输出格式:结构化字段(结论/要点/引用列表),便于渲染与后处理。

五、评测与演进

  • 构建基准:抽样问题集 + 参考答案 + 引用校验;持续回归评测。
  • 优化路径:改良切分、使用更优 Embedding、加强重排、微调提示与输出约束。
  • 安全治理:防越狱/提示注入、敏感信息脱敏、来源强约束与拒答策略。

小结:RAG 的关键是“数据与检索质量”。在做好数据工程与评测闭环的前提下,再追求模型能力与推理技巧,才能稳定落地。


文章作者: 张显达
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 张显达 !
  目录