深度解析在构建知识库中使用RAG的细节
RAG流程虽看似简单,但其效果上限取决于知识库的质量与结构化程度。本文重点剖析了“录入”这一基础且易被忽视的环节,涵盖数据源选择、知识结构化录入、内容清洗、知识分块、向量化等方面,助您构建稳固可靠的知识库。

RAG 的核心流程看似只有四步——“录入 → 检索 → 增强 → 生成”,但每一步都藏着影响最终效果的关键变量。很多团队在 Demo 阶段觉得“能跑起来就行”,可一旦进入真实业务场景,如提升召回率、减少幻觉、构建可持续迭代的知识库,便常常遇到瓶颈。
究其原因,RAG 的上限不取决于模型,而取决于知识库本身的质量与结构化程度。本文将从最基础、但也是最容易被忽视的环节——“录入”——展开拆解,帮助你构建稳定、可靠、能支撑真实业务的知识库地基。
一、录入:RAG 的 “地基工程”,决定系统效果上限
录入是整个 RAG 流程的起点,它涉及数据质量、结构化程度、语义清晰度等多个维度。它不是简单的信息导入,而是包含 数据源选择 → 结构化录入 → 内容清洗 → 分块策略 → 向量化 的完整链路。
录入质量越高,后续检索越稳定、增强越精准、生成越可信。
录入质量越差,再强的大模型也“巧妇难为无米之炊”。
1. 数据源:决定知识库“原料”的纯度与价值
一个高质量知识库,首先要从正确的数据源开始。常见的数据来源可拆成三大类,各有优势与注意点。
① 内部业务数据:最有价值、最贴近业务场景
包括产品文档、操作手册、业务 SOP、售后记录、CRM 数据等。特点:
- 与业务强相关,是构建“专属能力”不可替代的部分
- 真实反映用户问题和业务流程
- 稳定性强,可持续迭代
注意事项:
- 明确数据权限与来源
- 与业务团队对齐字段含义,避免语义歧义
- 内容需支持版本管理
这部分数据往往决定了 你的 RAG 是否真的“能用在业务里”。
② 公开数据集:快速补齐知识盲区
平台包括 HuggingFace、Kaggle、OpenML、飞桨 Paddle 等。适用场景:
- 构建行业基础知识库
- 做模型评测与基线测试
- 补充通用背景知识
注意事项:
- 评估来源质量和更新频率
- 选择与业务高度相关的子集,避免数据“越多越乱”
③ 定向爬虫采集:精准补充领域知识
适用于:
- 专业行业资讯
- 官方文档/API 文档
- 垂直论坛/开发者社区
注意事项必须写清楚:
- 尊重 robots 协议
- 避免爬取登录态、个人信息等敏感内容
- 做结构化清洗前需校验格式统一性
2. 知识结构化录入:让机器“看得懂、能关联、能检索”
很多 RAG 效果差的根源是:数据虽然导入了,但模型并不“理解”它。结构化录入的核心目标是:→ 给不同格式的原始数据赋予“标准化结构”→ 让机器能识别内容类型、上下文关系与逻辑结构
按数据格式拆解如下:
① 文本类(Text):标签化 + 索引化 + 关联化
常见文本包括:产品文档、知识库文章、业务 SOP、FAQ 等。必须为文本建立统一的标注体系,例如:
- 产品文档:产品名称 / 功能模块 / 使用场景
- 业务手册:业务流程 / 责任部门 / 风险节点
结构化后的优势:
- 模型能更准确定位内容类型
- 检索时匹配范围更精准
- 生成阶段上下文关联更自然
这是大多数团队最容易忽视但最重要的环节。
② 表格(Excel/CSV):从“静态数据”升级为“可推理的知识单元”
为什么表格难做 RAG?因为表格天生是二维结构,而模型理解的是线性文本。
结构化步骤包括:
- 定义字段语义(如“客户ID”“成交金额”“到期时间”)
- 构建跨表关联(如按“客户ID”关联售后记录)
- 将表格转成结构化 Schema(TableSchema)对象
结构化后的价值:
- RAG 能回答跨行/跨表查询
- 能进行逻辑校验(如“该客户是否已续约?”)
- 成为业务分析型 RAG 的核心能力
③ 图片:将视觉内容转成可检索的语义资产
包括界面截图、流程图、产品图等。
规范化流程:
- OCR 提取文本
- 识别结构与关系(如流程图节点 → 边 → 顺序)
- 生成语义标签(如“功能入口截图/表单示例/接口回调流程”)
结构化后可实现:
- 文本搜索召回图片
- 让模型“理解”流程/界面用途
- 做跨模态 RAG(图文联合理解)
统一的结构化目标
最终所有内容都会以 JSON 形式进入清洗流程:
- 文本 → TextChunk
- 表格 → TableSchema
- 图片 → ImageArtifact
统一结构化后,可做标准化校验、去重、版本管理,是企业级知识库必须具备的能力。
3. 内容清洗:精准降噪,不破坏语义
内容清洗是决定数据可用性的关键步骤,目标是让知识既“干净”又“完整”。
拆成两大层级:
① 基础净化层:处理格式噪声
主要包括:
- 删除冗余标点、乱码、空白字符
- 移除页码、页眉页脚、无意义文本片段
- 统一编码、分隔符、换行格式
优势:
- 提升向量化质量
- 降低检索时的计算开销
② 语义降噪层:消除内容噪声
处理逻辑包括:
- 删除重复段落、重复文档
- 矫正矛盾信息(同一知识点多版本冲突)
- 检查语义完整性,避免切断逻辑链
清洗的核心原则只有一句话:不破坏知识原子性,只移除对语义无贡献的部分。
4. 知识分块:决定召回率的“核心变量”
RAG 的第一大瓶颈往往不是模型,而是 文本块切得不对。分块策略直接决定:
- 召回率
- 语义完整性
- 最终答案是否准确
以下是四种主流分块策略(按从简单到智能排序)。
① 固定字符数分块
逻辑最简单:按字数切块,如 500 字一个 chunk。
优点:
- 成本低、易实现缺点:
- 容易切断句子和段落
- 单块语义残缺,影响召回精度
优化:规则分隔符 + 重叠区间(10%–20%)这样至少能保证上下文连续性不丢。
② 递归分块(Recursive Text Splitter)
更智能的切法:
- 先按段落拆
- 不够再按句拆
- 再不够按逗号、空格拆
核心优势:
- 最大化保留自然语义单位
- 结构更清晰
适用于:专业文档、长文本问答、政策法规等。
③ 基于格式的分块
适用于有明显结构标记的内容,如:
- Markdown → 按标题层级拆分
- HTML → 按 <h1> <div> 拆分
- 代码 → 按函数/class 拆分
优势:
- 完美保留原始结构
- 对技术文档、API 手册效果极好
④ 语义分块(Embedding 聚类)
最高级的策略:
- 先转 embedding
- 再按语义相似度聚类
- 将相关句子合成一个 chunk
优势:
- 块内语义高度统一
- 最适合复杂业务与知识图谱构建
适用于:→ 多轮对话意图提取→ 深层逻辑分析→ 高精度企业级知识库
5. 向量化(Embedding 模型):文本的“语义翻译官”
Embedding 模型的作用不是生成答案,而是:把人类语言翻译成机器可计算的向量表达。
流程分为三步:
① 离线阶段:构建向量索引库
每个 chunk 会被转成一组固定维度向量(768/1024/1536 维)。存入向量数据库(FAISS / Milvus / Pinecone 等)。这一步相当于给每段文本分配一个“语义身份证”。
② 在线检索:用“语义钥匙”匹配“知识锁”
当用户提问时:
- 问题 → 同一个 Embedding 模型编码
- 向量数据库根据相似度选出 top-k 文本
这里 Embedding 模型的稳定性和表达能力,直接决定召回是否精准。
③ 生成阶段:Embedding 的任务结束
top-k 的内容被原样送入大模型(LLM),由大模型完成:
- 答案组织
- 逻辑串联
- 语言润色
Embedding 仅负责“找到正确的材料”,不负责最后的“写作”。
补充:国内 Embedding 模型现状
虽然开源界 bge-large-zh 讨论度最高,但在真正落地的企业系统里:
- 百度文心 ernie 系列使用最广(客服、知识库、搜索系统)
- 阿里 Open-Text-Embedding(HF 上 damo 系列)在政企场景占比高
- 讯飞、智谱、月之暗面等厂商提供私有 API,仅企业内部可用
这些商业模型在行业内调用量远高于开源方案,但对个人开发者不可见。
(后续章节:检索/增强/生成 待补充……)
本文由 @cheninx 原创发布于人人都是产品经理。未经作者许可,禁止转载
题图来自Unsplash,基于CC0协议
- 目前还没评论,等你发挥!

起点课堂会员权益




