返回首页

黑客马拉松中的 Agentic RAG:分块和搜索

本文描述了为处理 DIFC 法院文件而在黑客马拉松上创建 RAG 系统的经验。比较了简单(按页面混合搜索)和代理架构(带路由器)。提供了准确性指标、grounding 和关于分块的结论。

Agentic RAG 挑战:分块和代理的经验教训
Advertisement 728x90

智能代理RAG:为DIFC法院构建法律文档检索系统

‘智慧火花’团队参与了EORA AI 2026年智能法律RAG挑战赛,开发了两个RAG系统。目标是基于迪拜国际金融中心(DIFC)的300多份法院文件,精准回答各类问题。赛事奖金池高达3.2万美元,吸引超过300名参赛者,分为初赛(30份文档,100个问题)和决赛(300份文档,900个问题)两阶段。问题类型涵盖布尔判断、名称查询、日期、数字及自由文本,评分标准包括准确率、响应速度与令牌使用效率。

RAG中向量搜索的挑战

向量搜索在语义匹配方面表现优异(如‘合同终止’≈‘合同取消’),但在处理具体事实时力不从心,例如‘杰森诉克鲁格案的审理城市是哪里?’。随着文档规模扩大,这一问题愈发突出——小规模库中检索迅速,而大规模语料库则需复杂索引。

关键突破在于分块策略:将文本拆分为有意义的片段。简单按固定模式(如第1条、第2款)切分适用于结构严谨的文档,但对分块大小要求极高。过小的块导致向量信息模糊、缺乏上下文;过大则产生模糊、歧义的表示。

Google AdInline article slot

示例问题:

  • 原文:‘听证会出席人员包括:参与者1、参与者2、参与者3。’
  • 按列表标记分割 → 每个条目失去独立意义。

分块策略与混合检索

混合检索融合向量相似度、BM25算法与元数据。通过一个基于问答对训练的重排序模型(reranker),将前k×10的结果精炼至前k名,显著提升精度。

分块方法对比:

Google AdInline article slot

| 方法 | 描述 | 优势 | 劣势 |

|--------|----------|-------|--------|

| B1. 固定大小+重叠 | N个词元的块,带重叠区域 | 实现简单 | 可能破坏上下文连续性 |

Google AdInline article slot

| B2. 层级式 | 大块→小块递归拆分,保留大单元上下文 | 上下文完整 | 实现复杂 |

| B3. 语义驱动 | 基于机器学习按语义聚类 | 相关性高 | 资源消耗大 |

团队采用B1与B2方案,因时间限制未尝试B3。

简洁架构方案

使用Qdrant + LlamaIndex进行向量存储,Unstructured解析PDF并保留原始结构。

分块方式:按页面+重叠。检索策略:混合检索 + 正则表达式匹配 + 元数据过滤。重排序器:启用。

优点:

  • 快速部署。
  • 性能稳定可预测。
  • 接地性直接来自页面级分块。

缺点:

  • 正则表达式易引发误报或漏检。
  • 对文档结构依赖性强。
  • 初期接地未利用元数据(后期修复)。

结果:

  • 初赛阶段:准确率从0.9降至0.81(修复后),接地率从0.5升至0.58。
  • 决赛阶段:准确率0.79,接地率0.63,平均响应速度达标。

智能代理RAG:路由与工具协同

分块方式:层级式。算法流程:

  • LLM分析样本文档结构;
  • 识别重复模式;
  • 递归合并小块至目标大小。

挑战:不同页面间模式不一致 → 生成噪声多、质量差的分块。

检索机制:代理路由将查询分发至四个工具(元数据、精确匹配、文档比对、混合检索),并根据案件编号或法律条文引用进行过滤。架构为:路由 → 工具(含重排序) → 代理生成器。

优点:

  • 根据上下文精准选择工具。
  • 过滤机制有效。

缺点:

  • 分块不稳定。
  • 产生大量噪声分块。
  • 未充分测试(截止前出现API错误)。

初赛结果:准确率0.74,接地率0.6,响应较慢(2次LLM调用)。最终提交未完成。

核心经验总结

  • 混合检索 + 重排序是超越语义相似性的关键保障。
  • 在时间紧迫下,基于页面的分块比层级分块更简单且更稳定。
  • 代理路由有价值,但需严格定义工具接口并充分测试。
  • 基于元数据的接地是实现确定性响应的核心。
  • 正则表达式可作为补充,但无法替代向量检索——使用时需谨慎,避免误触发。

总体评价:简洁方案表现稳定(准确率0.79,接地率0.63)。智能代理方案潜力可观,但分块与调试风险较高。实践证明:在复杂与可预测之间,应优先选择后者。

— Editorial Team

Advertisement 728x90

继续阅读