30 秒快速回答

语义分块(Semantic Chunking)是指按语义边界(段落、小节、完整句子群)切分文档,而不是按固定 token 数量硬切的技术。它解决的是 RAG 系统的第一个致命问题:文档被”拦腰截断”后,语义残缺的碎片既搜不准、也答不对。核心价值一句话:分块质量决定了检索上限,检索上限决定了 RAG 回答的天花板——在换更强的模型之前,先把分块做好,性价比最高。

为什么分块是 RAG 的第一道关卡

RAG 的典型流程是”切分文档 → 向量化 → 检索 → 生成”。很多人把精力花在调 embedding、换大模型上,却忽略了最前面的分块。如果分块不当,后面每一步都在为错误买单:

  • 固定长度硬切:把一段完整论述从中间切断,chunk 里只剩半句话,embedding 编码出的向量既不代表原意,检索时也难以命中用户问题;
  • 块太小:上下文信息不足,模型拿到碎片只能”知识不够、全靠脑补”;
  • 块太大:向量被大量无关内容稀释,检索精度下降,还挤占上下文窗口。

一个直观经验是:在同样的 embedding 和模型下,仅把分块策略从”固定 500 token 硬切”换成”按段落语义分块”,检索命中率往往能提升 20% 以上。

四种主流分块策略对比

策略 原理 优点 缺点 适用场景
固定大小分块 按 token 数硬切 实现简单、速度快 切断语义、块边界随机 快速原型、超短文本
递归字符分块 按换行、段落、句子逐级切 结构自然、成本低 仍是规则驱动,边界粗糙 通用文档、长文初筛
结构分块 按 Markdown 标题/章节切 保留文档层级关系 依赖文档格式规范 教程、Wiki、API 文档
语义分块 按 embedding 相似度找切点 边界贴合语义、检索质量最高 需额外计算、成本略高 知识库问答、生产级 RAG

语义分块怎么做:代码实战

核心思路:先把文档切成候选句子,逐句计算 embedding,当相邻两句的余弦相似度低于阈值(话题发生转变)时,就在这里切一刀。下面是用 LangChain 的 SemanticChunker 实现的最小示例:

from langchain_experimental.text_splitter import SemanticChunker
from langchain_openai import OpenAIEmbeddings

# 1. 初始化语义分块器,threshold_type 可调灵敏度
splitter = SemanticChunker(
    embeddings=OpenAIEmbeddings(model="text-embedding-3-small"),
    breakpoint_threshold_type="percentile",  # 用相似度分位数找断点
    breakpoint_threshold_amount=95,          # 相似度跌出前 95% 才切分
)

# 2. 传入整篇文档,自动按语义边界切块
chunks = splitter.split_text(doc_text)

for i, chunk in enumerate(chunks):
    print(f"chunk-{i}: {chunk[:80]}...")

如果不想引入 LangChain,也可以自己实现,核心就三步:分句 → 算相邻句相似度 → 找断点。阈值建议先画出相似度分布图,取”断崖”位置,而不是拍脑袋定 0.7 之类的固定值。

实践建议:chunk size、overlap 与评估

  1. chunk size 怎么选:以”一个完整观点”为单位,中文文档常见 200-500 token;不要迷信大模型窗口,检索粒度与生成粒度是两回事。
  2. 保留 10%-20% overlap:相邻块重叠一小段,避免边界处的关键信息被截断,跨块命中也能兜住。
  3. 把 metadata 一起存:把文档 ID、章节标题、日期作为过滤字段存进向量库,检索时先过滤再排序,比纯语义更准。
  4. 务必建立评估集:准备 50-100 个真实问答对,跑”检索命中率 / 最终答案正确率”,分块改完用同一套数据回归测试,防止”这块好了那块坏了”。

总结与延伸阅读

语义分块不是花哨技巧,而是 RAG 工程的”地基”:先保证每个碎片是一个完整语义单元,再谈检索和生成。记住三条主线:按语义边界切分、overlap 兜底、用评估集验证效果。

延伸阅读:本站的《什么是 RAG?一文搞懂检索增强生成》《什么是混合检索与重排序?RAG 检索质量提升的核心技术》《什么是 Contextual Retrieval?Anthropic 让 RAG 检索失败率降低 35% 的嵌入增强技术全解析》《什么是 Adaptive RAG?自适应检索增强生成的原理与实践全解析》可以帮你把检索链路完整补齐。