返回首页

法律任务的 RAG 优化

开发人员在 Agentic RAG Legal Challenge 中测试了法律 PDF 上的 RAG。带有语义分块和 LLM-reranking 的混合方法达到了 0.78 总分。关键——grounding 从 0.45 增长到 0.90。

RAG 与 CAG:法律挑战中谁获胜
Advertisement 728x90

优化RAG处理法律文档:来自智能RAG法律挑战赛的经验

开发团队在智能RAG法律挑战赛提供的法律文档语料库上测试了RAG系统。核心目标是提升事实依据的准确性和引用精度。来自DIFC(法院裁决、法律法规、监管文件)的文档通过视觉页面渲染为图像,再转换为Markdown格式,随后使用Mac Studio M3 Ultra上的Qwen 3.5-9b模型进行处理。

基于FRIDA(密集)和GTE(稀疏)嵌入的语义分块技术将30份文档拆分为约2,000个片段。每个片段包含:

  • text:一个完整的思想或事实
  • path:源文档标识符
  • context:该片段在原文档中的上下文描述

上下文由LLM(Qwen)生成,输入包括片段内容和整篇文档。此举有效弥补了分块过程中丢失的连贯性。嵌入向量存储于Qdrant中。索引30份文档耗时约2小时,瓶颈在于上下文生成阶段的预填充延迟(本地每块15–20秒)。

Google AdInline article slot

响应生成流程

针对每个查询:

  • 意图识别:LLM生成多个替代搜索关键词。
  • 检索与筛选:通过FRIDA/GTE向量化,在Qdrant中使用RRF算法检索前N个相关片段。LLM对结果进行重新排序并过滤出最相关的部分。
  • 生成答案:将筛选后的片段输入LLM,并附带指令要求其作答并明确标注所引用的片段编号,确保可追溯性。

竞赛评分标准:总分 = (0.7 × S_det + 0.3 × S_asst) × G × T × F。其中关键指标G(事实依据)衡量是否准确引用页码。S_det评估确定性回答的精确度(如布尔值、日期、姓名、数字)。S_asst则通过LLM评分机制评估自由文本质量。

实验结果与基准对比

15轮预热实验(30份文档,100个问题)显示,从基础RAG逐步演进至优化版本。关键迭代如下:

Google AdInline article slot

| 版本 | S_det | S_asst | G | 总分 |

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

| v3 (GPT-5.4) | 0.843 | 0.667 | 0.451 | 0.362 |

Google AdInline article slot

| v5 (CAG Qwen 1M) | 0.971 | 0.553 | 0.563 | 0.403 |

| v6 (BM25) | 0.943 | 0.540 | 0.390 | 0.269 |

| v7 (BM25 + 语义RRF) | 0.871 | 0.567 | 0.717 | 0.468 |

| v11 (MORAG v3) | 1.000 | 0.680 | 0.757 | 0.664 |

| v15 (最终版) | 0.986 | 0.733 | 0.901 | 0.780 |

G值从0.45跃升至0.90——这是取得成功的核心驱动力。纯BM25表现最差(总分0.269)。CAG(使用35万token全上下文提示的Qwen 3.5-Flash)在S_det上表现优异(0.971),但缺乏精准引用导致接地失败。

OpenAI内置RAG处理PDF仅得0.362——虽可接受,但引用极不规范。

方法对比:RAG vs 其他方案

  • BM25:基于关键词的快速搜索(TF-IDF),但忽略语义信息,导致G值偏低(0.390)。
  • CAG:将全文注入提示词(100万token),S_det高,但无显式引用时接地能力弱。
  • 混合RAG(MORAG):融合FRIDA/GTE + RRF + LLM重排序 + 问答类型感知推理,实现S_det=1.000,G=0.901。

智能元素:在检索后,模型可自主决定下一步动作(如开启/关闭推理模式、固定地图等)。

MORAG(github.com/catonmoon/morag)在所有指标上均超越OpenAI与Grok的内置RAG功能。

Mac Studio M3 Ultra在索引阶段表现出色(原生嵌入支持),但在预填充密集型任务上吃力,最终切换至OpenRouter平台。

核心启示

  • 事实依据(G)是决定性因素:即使答案完美,若无法精确定位到具体页码,仍属无效。
  • 混合检索策略(密集+稀疏+RRF)结合LLM重排序能显著提升片段相关性。
  • 带上下文生成的语义分块可在不依赖大模型的前提下保持内容连贯性。
  • 问题类型决定处理模式:自由文本回答启用推理,确定性问题则直接输出。

— Editorial Team

Advertisement 728x90

继续阅读