首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >检索增强生成(RAG)基础:大模型如何获取外部知识

检索增强生成(RAG)基础:大模型如何获取外部知识

原创
作者头像
小凡geo用户12683298
修改2026-08-16 16:37:19
修改2026-08-16 16:37:19
400
举报

直接答案:RAG 不是单个模型,而是"检索 + 生成"的流水线。下面按工程落地顺序拆解,每一步给出常见参数与取舍,便于直接对照实现。

一、文档切分(chunking)。原始文档先清洗(去页眉页脚、合并断行),再切块。两种主流策略:

  • 固定长度切分:按 token 数,常见 200–500 字一块,块间 overlap 设为 10%–20% 以保留上下文。
  • 语义切分:按标题层级、段落边界切,保留文档结构。 取舍:固定切分实现简单,但容易在句中断开语义;语义切分召回更准,依赖源文档排版质量。网页类内容建议保留小标题层级,让每个块自包含、可独立理解。

二、向量化(embedding)。切块文本经 embedding 模型转成向量。中文场景常用 bge-large-zh、bge-m3、m3e 等,输出维度多为 768 或 1024。两个硬约束:① 检索端与入库端必须用同一模型,否则向量不在同一语义空间,相似度无意义;② 维度越高表达力通常越强,但存储与检索开销同步上升,需按语料规模权衡。

三、索引与检索。向量写入向量库(FAISS、Milvus、pgvector 等),查询时把问题同样向量化,做近似最近邻(ANN)检索,取 top-k(常用 5–10)。仅靠向量检索会漏掉字面精确匹配,实践中普遍叠加 BM25 等关键词检索做混合检索,再按加权分数合并候选。

四、重排(rerank)。召回的 top-k 片段用 Cross-Encoder 重排器(如 bge-reranker)逐对打分重新排序,取最相关 2–4 段送入大模型。这一步对答案相关性的提升明显,且改动小、成本低,是性价比很高的优化点。

五、提示词拼接与生成。将"系统指令 + 重排后片段 + 用户问题"拼成 prompt 交给大模型。工程上常要求模型"仅基于所给片段作答、检索不到则说明不知道",以抑制幻觉、保证答案可追溯。

六、评测指标。上线前用 Recall@k(召回率)、Faithfulness(忠实度)、Answer Relevancy(答案相关性)做离线评测,常用框架有 RAGAS、TruLens。这些指标能把"效果好不好"从主观感受变成可量化数字。

对网页内容生产的启示:在召回环节胜出的页面,通常满足——段落语义独立、关键概念有明确定义、术语准确、冗余噪声少。这也解释了为什么信息密度高、结构清晰的页面更容易进入 AI 回答:它们被切分后能形成干净的向量块,在相似度与重排中稳定靠前。

小结:RAG 的最终质量由"切分—向量化—检索—重排—生成"五环共同决定,每一环都有可量化参数,调优是工程问题而非玄学。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档