适用场景:法律法规、合同条款、行业合规手册、地方建设标准、司法解释等结构化但语义复杂的文档。 目标:在 RAGFlow 中实现条款级精准检索、零偏差法条引用、跨条款关联推理。
一、解析方法(Chunk Method)选择
| 选择 | 适用情况 | 说明 |
|---|---|---|
| Laws(首选) | 标准法规、条款编号清晰(第X章/第X条/Article N) | RAGFlow 官方为法律文档专门设计的模板,自动识别条款边界,保持条款完整性 |
| General + 自定义分段 | 条款层级复杂(含司法解释嵌套)、混合内容 | 配合"按标题分层(By Title)"使用,灵活性更高 |
| Manual | 章节分明的合规手册 | 按章节标题切分,保留模块化结构 |
RAGFlow 源码参考:
rag/app/laws.py,使用正则第[零一二三四五六七八九十百0-9]+条与Article [0-9]+识别条款。
二、核心切片参数
| 参数 | 推荐值 | 说明 |
|---|---|---|
| 块 Token 数(Chunk Size) | 512(普通条款)/1024(含释义的长条款) | 匹配中文法律条款平均长度,避免拆裂条款 |
| Chunk Overlap(重叠率) | 20% – 25% | 法规条款常有"依前款规定…"互引,需保留上下文 |
| 分段标识符(Delimiters) | \n+ 正则第[零一二三四五六七八九十百千0-9]+条+[;。!?] | 中文法规标点适配,;用于并列款项 |
| 布局识别 | 开启表格识别 + 多栏文本重组 | 处理附表、罚则对照表 |
| OCR 引擎 | DeepDoc(默认)/ PaddleOCR 4.0+ | 扫描版法规、手写批注识别更稳 |
| 标题层级感知 | 启用,正则\d+章\|\d+条\|\d+款 | 保持"章—节—条—款—项"层级结构 |
三、嵌入与检索配置
3.1 嵌入模型
中文法规:
BAAI/bge-large-zh-v1.5(中文语义最佳,法律术语嵌入效果突出)跨语种 / 长条款:
BAAI/bge-m3(支持长文本、多语种)英文法律:
nomic-embed-text或text-embedding-3-large
重要:一旦数据集已生成 chunks,无法切换嵌入模型,必须删除现有 chunks 才能更换。
3.2 混合检索策略
| 策略 | 权重 | 作用 |
|---|---|---|
| 向量相似度(Vector) | 0.7 | 语义相似匹配,"合同" ≈ "契约" |
| 关键词 BM25 | 0.3 | 法律术语精确匹配 |
| 相似度阈值 | 0.2 – 0.3 | 过高会漏召回相邻条款 |
| Top-K |