Zpět na domů

Optimalizace RAG pro právní úkoly

Vývojáři otestovali RAG na právních PDF v Agentic RAG Legal Challenge. Hybrid přístup se semantickým chunkingem a LLM-rerankingem dosáhl 0.78 Total score. Klíč — růst grounding z 0.45 na 0.90.

RAG vs CAG: Kdo vyhrál v právním challenge
Advertisement 728x90

Optimalizace RAG pro právní dokumenty: lekce z Agentic RAG Legal Challenge

Tým vývojářů otestoval RAG na kolekci právních dokumentů z soutěže Agentic RAG Legal Challenge. Hlavním cílem bylo zlepšení přesnosti citování a spolehlivosti odpovědí (grounding). Dokumenty z DIFC (soudní rozsudky, zákony, regulační akt) byly extrahovány z PDF s využitím vizuálního vykreslení stránek do obrázků a následného zpracování modelu Qwen 3.5-9b na Mac Studio M3 Ultra.

Sémantické částečné rozdělení dokumentů pomocí embedderů FRIDA (dense) a GTE (sparse) umožnilo rozdělit 30 dokumentů na přibližně 2000 částí. Každá část obsahuje:

  • text: dokončený fakt nebo myšlenku
  • path: původní dokument
  • context: popis kontextu části v rámci dokumentu

Kontext je generován LLM (Qwen), který dostane část i celý dokument. Tím se kompenzuje ztráta spojitosti při rozdělení. Embeddingy jsou uloženy v Qdrant. Indexace 30 dokumentů trvala přibližně 2 hodiny, hlavní bottleneck byl prefill při generování kontextu (15–20 sekund/část lokálně).

Google AdInline article slot

Pipeline generování odpovědí

Pro každý dotaz:

  • Intent: LLM generuje varianty dotazů pro vyhledávání.
  • Select: Vektorizace prostřednictvím FRIDA/GTE, vyhledání v Qdrant s RRF, top-N částí. LLM provádí reranking a vybírá relevantní části.
  • Answer: Odfiltrovány části jsou posílány LLM s požadavkem na odpověď + uvedením čísel použitých částí pro grounding.

Metriky soutěže: Total = (0.7 × S_det + 0.3 × S_asst) × G × T × F. Klíčový faktor G (grounding) – ověření odkazů na stránky. S_det – přesnost deterministických odpovědí (boolean, datum, jméno, číslo). S_asst – kvalita volně formulovaných odpovědí podle LLM-soudce.

Výsledky experimentů a benchmarků

15 testů na warm-up (30 dokumentů, 100 dotazů) ukázaly evoluci od základního RAG k optimalizovanému řešení. Klíčové verze:

Google AdInline article slot

| Verze | S_det | S_asst | G | Total |

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

| 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 + semantic RRF) | 0.871 | 0.567 | 0.717 | 0.468 |

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

| v15 (finále) | 0.986 | 0.733 | 0.901 | 0.780 |

Růst G z 0,45 na 0,90 rozhodl o úspěchu. BM25 dosáhl nejhoršího výsledku (Total 0,269). CAG (plný kontext 350K tokenů v Qwen 3.5-Flash) exceloval v S_det (0,971), ale selhal u groundingu.

Vnitřní RAG od OpenAI na PDF dosáhl 0,362 – přijatelná přesnost, ale slabé citování.

Porovnání přístupů: RAG vs alternativy

  • BM25: Rychlé vyhledávání klíčových slov (TF-IDF), ale ignoruje smysl – nízké G (0,390).
  • CAG: Celý kontext v promptu (1M tokenů), vysoká S_det, ale grounding trpí kvůli chybějícím explicitním odkazům.
  • Hybridní RAG (MORAG): FRIDA/GTE + RRF + LLM-reranking + uvažování podle typu dotazu. Dosáhl 1,000 S_det, 0,901 G.

Agentic prvek: po fázi Select model autonomně rozhoduje o dalších krocích (zapnutí/vypnutí uvažování, pinování map).

MORAG (github.com/catonmoon/morag) překonal vnitřní RAG od OpenAI/Grok ve všech metrikách.

Mac Studio M3 Ultra zvládl indexaci (embeddings native), ale nevydržel těžké úlohy s prefill – přepnuto na OpenRouter.

Co je důležité

  • Grounding (G) je rozhodující faktor: i ideální odpověď je bez platných odkazů na stránky neplatná.
  • Hybridní vyhledávání (husté + řídké + RRF) + LLM-reranking kriticky zvyšuje relevanci částí.
  • Sémantické částečné rozdělení s generováním kontextu zachovává spojitost bez náročných LLM.
  • Typ dotazu určuje režim: uvažování pro volné texty, přímé pro deterministické odpovědi.

— Editorial Team

Advertisement 728x90

Číst dál