当前位置: 首页 > news >正文

RAG 系列(三):调对这 4 个参数,让你的 RAG 从「能用」变「好用」

为什么同样的代码,你的 RAG 却答不对?

前两篇文章我们搭了一个能跑通的 RAG Pipeline。但很多人发现:代码虽然跑起来了,答案质量却时好时坏——有时候精准命中,有时候明明文档里有答案却检索不到,有时候检索到了但 LLM 却答偏了。

问题通常不在代码,而在参数

RAG 有 4 个核心参数,它们像收音机的四个旋钮:

  • Chunk Size(块大小):决定一块文本有多长
  • Chunk Overlap(重叠长度):决定相邻两块有多少重叠
  • Top-K(召回数量):决定每次检索返回多少块
  • Embedding Model(嵌入模型):决定文本怎么转成向量

这四个参数的组合,直接决定了"能不能找到相关信息"和"找到的信息够不够回答"。本文会用控制变量实验的方式,让你亲眼看到不同参数的效果差异。


参数一:Chunk Size —— 一块文本切多长?

什么是 Chunk Size?

想象你在整理一本 500 页的技术手册。Chunk Size 就是你每次翻开看多少页——看 1 页、看 5 页、还是看 50 页?

在 RAG 里,Chunk Size 是每个文本块的最大字符数(或 Token 数)。文档被切成很多块,每块不超过这个长度。

为什么它很重要?

Chunk Size 直接影响两个指标:

Chunk Size检索精度上下文完整性通俗理解
太小(128)像看词典词条——精准但孤立
中等(512)像看一段话——有上下文又不太长
太大(2048)像看一整章——信息全但噪音多

太小了有什么问题?假设文档里写:“系统使用 Redis 做缓存,默认过期时间是 3600 秒。如果超过这个时间,数据会被自动清理。” 如果 Chunk Size=128,这句话可能被切成两块:“系统使用 Redis 做缓存,默认过期时间是 3600 秒。” 和 “如果超过这个时间,数据会被自动清理。” 当你问"Redis 缓存过期后会发生什么?“,Retriever 可能只召回第一块,LLM 看到"3600 秒"却不知道后面还有"自动清理”——答案就不完整。

太大了有什么问题?假设 Chunk Size=2048,一个块里塞了 5 个不相关的主题。当你问某个具体问题,这个块被召回后,LLM 的注意力被无关内容分散了——就像让你在嘈杂的菜市场里听清一个人说话。

怎么选?

没有银弹,但有经验法则:

Chunk Size ≈ 你期望的答案长度的 1.5 ~ 2 倍
文档类型推荐 Chunk Size理由
FAQ / 问答对256 ~ 384答案短,精准匹配更重要
技术文档 / API 手册512 ~ 768答案中等长度,需要一定上下文
论文 / 书籍章节1024 ~ 1536论述性强,需要大段上下文理解
法律合同 / 医疗记录768 ~ 1024专业术语多,需要前后文推断

经验公式:先用 512 跑一遍,然后观察检索结果。如果发现"答案被切断了"就增大,如果发现"检索到的块里有很多无关内容"就减小。


参数二:Chunk Overlap —— 相邻块重叠多少?

什么是 Chunk Overlap?

还是那本技术手册。如果你每次看 5 页,Overlap 就是每次翻页时保留几页上一章的内容。比如 Overlap=1 表示:第一次看 1-5 页,第二次看 5-9 页(第 5 页重复出现)。

为什么需要重叠?

没有重叠,关键信息可能被"切在接缝处":

块 A:"系统使用 Redis 做缓存,默认过期时间是 3600 秒。" 块 B:"如果超过这个时间,数据会被自动清理。"

如果用户问"Redis 缓存过期后会发生什么?“,Embedding 模型可能觉得块 B 和问题更相关(因为都提到了"过期后”),只召回块 B。但块 B 开头是"如果超过这个时间"——没有块 A,LLM 不知道"这个时间"指的是什么。

有了 Overlap=50,块 B 开头会带上前 50 个字符:

块 B(带重叠):"默认过期时间是 3600 秒。如果超过这个时间,数据会被自动清理。"

现在即使只召回块 B,LLM 也能看懂"这个时间=3600 秒"。

Overlap 该设多少?

一般设为 Chunk Size 的10% ~ 20%

Chunk Size推荐 Overlap说明
25625 ~ 50文本短,稍微重叠就能保住上下文
51250 ~ 100通用场景的黄金比例
1024100 ~ 200长文本需要更多重叠来保衔接

注意:Overlap 不是越大越好。Overlap 太大会导致向量库里存储大量重复内容,增加存储成本和检索时的去重负担。


参数三:Top-K —— 召回多少块?

什么是 Top-K?

Top-K 是 Retriever 每次返回的文本块数量。K=4 表示"给我最相关的 4 个块",K=10 表示"给我最相关的 10 个块"。

为什么它很重要?

K 太小 = 漏信息。K 太大 = 引入噪声。

场景 A:K=2,漏掉了关键信息

用户问:“怎么配置数据库连接池和日志级别?” 这个问题涉及两个主题。如果 K=2,Retriever 可能只返回"数据库连接池"相关的两块,完全没提到"日志级别"——LLM 只能回答一半。

场景 B:K=20,噪音淹没了答案

用户问:“默认超时时间是多少?” 文档里有明确答案。但 K=20 召回了 20 个块,其中 19 个都在讲不相关的主题。LLM 的上下文窗口被无关内容占满,反而找不到那个简单的数字。

怎么选?

Top-K = 期望的答案涉及的主题数 × 2 ~ 3
查询类型推荐 K理由
单点事实查询(“默认端口是多少?”)3 ~ 5答案集中,少而精
多条件查询(“怎么配 A 和 B?”)5 ~ 8可能涉及多个主题
综合概述(“总结第三章的内容”)8 ~ 12需要覆盖整章的多个要点

经验公式:从 K=4 开始。如果发现"答案缺了一部分"就增大,如果发现"答案里有不相关的内容"就减小。


参数四:Embedding Model —— 谁来做「语义翻译」?

Embedding 是 RAG 的「翻译官」

Embedding 模型干的事很简单:把文本变成一串数字(向量)。语义相似的文本,向量距离就近;语义不相似的,向量距离就远。

Retriever 靠的就是这个——把用户问题转成向量,然后在向量库里找距离最近的那些块。

不同模型的差异有多大?

非常大。同一个问题,不同模型召回的结果可能完全不同。

模型擅长语言维度定位适合场景
text-embedding-3-small
http://www.jsqmd.com/news/732852/

相关文章:

  • 猫抓浏览器插件:3分钟学会网页视频下载的终极免费方案
  • MCP 2026资源调度智能分配:如何用强化学习+图神经网络实现跨集群负载预测准确率98.7%(附开源调度器v2.3.0内核注释版)
  • Agent架构选型手册:从简单场景到复杂系统的LangGraph适配策略
  • 2026年5月正规的磁控镀膜机价格怎么选厂家推荐榜,连续式磁控溅射镀膜机、立式磁控镀膜机、在线Low-E玻璃镀膜生产线厂家选择指南 - 海棠依旧大
  • 2026年5月有实力的水泥柱哪家便宜排行榜厂家推荐榜,排水槽/T型槽/U型槽/生态框厂家选择指南 - 海棠依旧大
  • StreamFX插件完整指南:解锁OBS Studio的视觉特效创作潜能
  • PX4-Autopilot固定翼无人机编队飞行:企业级深度实战与高效部署指南
  • MicroSui框架:嵌入式设备接入Sui区块链的轻量级解决方案
  • 马斯克证实 xAI 曾借助 OpenAI 模型改进自身模型,模型蒸馏引争议
  • WarcraftHelper 完整配置指南:魔兽争霸3现代硬件兼容性优化方案
  • 2026年5月值得信赖的广州PC透水砖生产基地口碑推荐厂家推荐榜:PC仿石透水砖、生态砂基透水砖、通体PC透水砖厂家选择指南 - 海棠依旧大
  • 告别HuggingFace Transformers卡顿:在Win11上实测vLLM推理Baichuan2-7B,吞吐量提升真这么猛?
  • 2026年5月专业的黑龙江旋耕起垄机厂家哪家好厂家推荐榜,1GQN系列/1GML系列/SGTN系列旋耕起垄机厂家选择指南 - 海棠依旧大
  • 告别消息消失烦恼:macOS微信防撤回插件WeChatIntercept完整指南
  • 天赐范式第28天:意识节点穿越的算子流实现——从Wilson-Cowan到三态自发循环
  • 模型冷启动卡顿、内存抖动频发,MCP 2026边缘部署性能瓶颈全解析,含ARM64/NPU双平台压测数据
  • 别再只盯着LVCMOS了!DDR内存接口的SSTL电平,硬件工程师必须搞懂的匹配与VREF设计
  • Thoth System:为OpenClaw智能体注入持久记忆与自我进化能力
  • 2026年白酒品牌全景解析!TOP7权威排行榜带你一览白酒品牌大全 - 品牌推荐官方
  • 从GSM到5G:聊聊GMSK与QPSK这些调制技术是如何塑造我们的手机信号的
  • SAP ABAP开发避坑指南:CSAP_MAT_BOM_MAINTAIN函数报错‘Item cannot be identified uniquely’的完整解决方案
  • 构建个人技能仓库:用Git管理技术能力与知识资产
  • PyTorch Lightning 报 ModuleNotFoundError 怎么办?我排查了才发现是依赖污染
  • 3分钟快速上手:Windows最强实时屏幕翻译工具Translumo终极指南
  • Harepacker复活版:MapleStory资源编辑与地图制作的终极指南 [特殊字符]
  • Moonlight-Switch终极指南:如何让任天堂Switch变身PC游戏串流掌机
  • 多GPU大模型训练:Pipeline Parallelism原理与PyTorch实战
  • 2026年3月评价高的市政排水管批发厂家推荐,钢筋混凝土排水管/环保化粪池/成品检查井/水泥管,市政排水管批发厂家选哪家 - 品牌推荐师
  • 六西格玛统计学基础怎么学 - 众智商学院官方
  • 免费开源在线PPT制作工具:PPTist让你的演示文稿创作效率提升300%