Lesson 04 · 定长切片 (512 tokens) → 关键条款被切断, 引用错乱

Problem

律所 / 医院 / 医疗器械 RAG 项目常见: - 用默认 LangChain 定长 512-token splitter - 检索出的 chunk 是"半个条款 + 上一条款结尾" - 生成答案时把两个不相关条款拼在一起 - 律师看了直接说"这不是我在找的" - 医生说"这引用的位置对不上原指南" - 检索命中率跌到 55-70%, 生产不可用

Root Cause

语义单元被机械切断.

定长 chunking 不理解这些结构, 只按 token 计数切.

Fix

语义 + heading-aware chunking:

工具: - LangChain 的 MarkdownHeaderTextSplitter + 自定义 clause splitter - Unstructured.io 对法律 / 医疗结构文档更友好 - 测试: 抽 30 条真实用户 query, 跑 hit@5 > 90% 才通过

How to Avoid


避坑成本估算: RAG 命中率不达标 = 6-12 个月项目返工, 用户信任崩塌.

下一步: 30 min RAG 冷启动对齐