我们如何用 Docling 把法律学习资料转化为可检索的知识库,服务于我们那套 AI 驱动的法律咨询平台。
在 Erst Recht,我们正在为德国法律打造一套 AI 驱动的法律咨询平台。我们最大的挑战之一?把成千上万份法律 PDF 文档转化为我们的 AI 智能体真正用得上的可检索知识库。
解决方案:Docling,一款来自 IBM Research 的开源文档处理工具包。
挑战
我们拿到了一批全面的法律学习资料,涵盖从劳动法到继承法的方方面面。这些 PDF 包含:
- 复杂的法律内容,夹杂着各种文档类型
- 不同的结构,取决于具体的法律领域
- 22 个不同的法律领域,每个都有各自的要求
问题在于:任何试过从 PDF 里提取文本的人都知道结果会是什么样。标题跑到正文中间,表格变成一堆乱码,多栏排版被逐行读取而不是逐栏读取。你没法简单地把这种原始文本一股脑塞进向量数据库还指望能有好结果。结构至关重要,而法律文档依赖的那些关联,在朴素的文本提取中会全部丢失。
为什么不直接用 OCR?
我们最初的直觉是用传统的 OCR(光学字符识别)。但我们很快意识到,OCR 解决的是错误的问题:
| 传统 OCR | Docling |
|---|---|
| 把图像 → 转成文本 | 把文档 → 转成结构化数据 |
| 丢失文档结构 | 保留标题、列表、层级 |
| 把每一页都当作扁平文本 | 理解阅读顺序 |
| 表格变成乱码文本 | 表格依然是表格 |
Docling 不是「更好用的 OCR」,而是一条文档理解流水线。它输出干净的 Markdown,并保留文档的逻辑结构。
我们的流水线
下面是我们处理一份法律 PDF 的方式:
第 1 步:分类
在处理之前,我们先按文档类型和法律领域对每份文档进行分类。
第 2 步:Docling 转换
Docling 把 PDF 转换成结构化的 Markdown。对于我们那些数字版 PDF(本身已带文本层),我们关闭 OCR 以提升速度:
from docling.document_converter import DocumentConverter
converter = DocumentConverter()
result = converter.convert("document.pdf")
markdown = result.document.export_to_markdown()
输出结果保留了标题、列表和结构:
## Anspruchsgrundlagen
### Vertragliche Ansprüche
- Erfüllungsanspruch
- Schadensersatz statt der Leistung
### Gesetzliche Ansprüche
- Deliktsrecht
- Bereicherungsrecht
第 3 步:智能处理
我们开发了一套面向领域的处理逻辑,能够理解法律文档的结构。具体的方法论是我们的独门秘方,但结果很清楚:AI 拿到的不再是孤立的文本碎片,而是能理解其中的关联。
关键在于:上下文决定了「我找到了点东西」和「我理解了答案」之间的差别。
第 4 步:嵌入与向量存储
我们用一个 LLM 嵌入模型生成嵌入,并把所有内容存入向量数据库,从而实现带过滤的检索:
- 只在特定法律领域内检索
- 按文档类型和相关性过滤
- 智能地召回相关内容
成果
我们处理了 22 个法律领域、超过 1000 份 PDF 文档。但数字并不是决定性因素,回答质量的差别才是。
之前:AI 给出的结果流于表面。它能找到相关的文本段落,却缺少必要的上下文。面对复杂的法律问题,它会得出错误的结论,因为孤立的信息远远不够。
之后:借助智能的文档处理,AI 如今能够理解其中的关联。结果既精准又可靠。这让产品从「有意思的原型」跃升到「可投入生产」。
具体来说,系统现在能够:
- 找到相关的判例,哪怕面对复杂的问题
- 给出完整的答案,附带作出明智决策所需的上下文
- 按法律领域检索,以获得最大的相关性
关键收获
「Docling 让我们得以保留文档的完整结构。这从根本上改善了我们的 RAG 质量。」
1. 结构 > 原始文本
保留文档结构让我们的 RAG 系统精准了许多。标题成了天然的分块边界。列表依然是列表。
2. 上下文胜过关键词匹配
单纯的匹配毫无用处。只有上下文才让它有价值。我们的处理确保 AI 不只是找到,而是真正理解。
3. 能跳过 OCR 就跳过
我们的 PDF 都带文本层。关闭 OCR 让处理速度快了 10 倍,且质量毫无损失。
4. 面向领域的后处理
Docling 产出干净的 Markdown。接下来该做什么,取决于具体领域。对于法律文档,我们开发了针对法律论证特点量身定制的后处理。在技术文档、合规或合同管理等其他领域,相关的做法会有所不同。
接下来做什么
我们在持续改进这条流水线。当前的重点是:更先进的分块策略,以及打通判决书、法条原文等更多文档类型。
Erst Recht 用 AI 让法律咨询触手可及。我们的多智能体系统会分析你的法律处境,并给出可落地的建议。
所用工具:
在处理类似的问题?正在为 RAG 准备大批文档?联系我,我很乐意在架构或实现上帮上忙。