速答 · 约 4 分钟

baidu100-chunk-512

一句话结论

我会严格按给定事实组织内容,控制首段篇幅、全文字数和格式限制,并逐项检查禁用词、粗体范围及 frontmatter 字段。--- slug: baidu100-chunk-512 question: "chunk 为什么设 512?和 128、1024 相比 trade-off 是什么?" oneLine: "512 是语义完整性与检索精度的折中:128 定位准但上下文碎,1024 语义完整却会稀释向量表征并增加上下文成本与噪声,最终要用评测集选型并对齐 Embedding 模型的最优输入长度。" category: jingchang company: baidu tags: [百度真题, RAG, Embedding] minutes: 5 order: 162 updated: 2026-09-29 deep:

先这样答

chunk 设 512,核心是平衡语义完整性和检索精度。设成 128,检索定位会更准,但上下文容易被切碎。回答一个问题时,系统可能要拼接很多块,才能还原完整语义。设成 1024,单块更容易保留完整语义,但向量表征可能被稀释。单块内容变长后,放进上下文的成本也更高,里面还可能混入更多噪声。

512 附近通常能装下多数中英文文档的完整自然段落。这样既能保留一个相对完整的语义单元,也不会让单块包含过多无关内容。但 512 不是固定标准,也不是凭经验拍出来的数字。实际项目要在自己的评测集上比较不同 chunk 大小,再选出效果合适的值。最后还要让 chunk 大小和 Embedding 模型的最优输入长度对齐。这样选出来的参数,才有评测依据。

面试官会怎么追问

  • 「为什么不直接统一用 512?」 512 只是语义完整性和检索精度之间的折中。不同项目不能直接照搬这个数字。应当在自己的评测集上测试不同大小,再确定最终配置。

  • 「128 和 1024 的主要问题分别是什么?」 128 的问题是上下文碎,回答常常要拼接很多块。1024 的问题是向量表征可能被稀释,单块放入上下文的成本更高,噪声也更多。

  • 「chunk 大小为什么要和 Embedding 模型对齐?」 chunk 的长度会影响向量表征的内容范围。应该结合 Embedding 模型的最优输入长度选择 chunk,而不是只看一个通用数字。最终仍要用自己的评测集验证。

回答的坑

  • 不要把 512 说成固定标准,因为它只是一个折中值,必须经过自己的评测集验证。
  • 不要只比较检索定位准不准,还要同时说明上下文完整性、向量表征、上下文成本和噪声。

同系列的题

—— 本题完 ——