Úkol: Vygenerovat GENERIC shrnutí pro celý dokument a každou sekci (150 znaků).
Hierarchický proces: Nejdřív se vygenerují section summaries (150 chars každá), pak se z nich složí document summary (také 150 chars). Tyto shrnutí se pak použijí jako kontext v SAC (Phase 3).
🤖 Model (Fast)
gpt-5-nano / gpt-4o-mini
💰 Model (Eco)
OpenAI Batch API (50% levnější)
📏 Section summary
150 znaků (každá sekce)
📏 Document summary
150 znaků (ze section summaries)
🔄 Proces
Bottom-up hierarchical (sections → document)
🎨 Styl
GENERIC (NOT expert!)
📄 Implementace
src/summary_generator.py
🔬 Research-backed design (Reuter et al., 2024):
Counterintuitive finding: GENERIC summaries fungují lépe než expert summaries!
• Expert shrnutí: "Článek 12 stanovuje sankce dle nařízení 2023/1234..."
• Generic shrnutí: "Dokument popisuje pravidla a sankce..."
Proč? Generic terminologie má lepší sémantickou shodu s běžnými user dotazy, které nepoužívají právní žargon.
Hierarchická generace: Document summary se vytváří z již vygenerovaných section summaries (bottom-up přístup) → žádné truncation, pokrytí celého dokumentu bez omezení velikosti.
📦 Datový tok (hierarchický bottom-up):
KROK 1: Hierarchie + LLM → Každá sekce dostane 150-char generic summary:
{
"section_id": "1.2",
"content": "Tento paragraf stanovuje...",
"summary": "Pravidla pro registraci..." (150 chars)
}
KROK 2: Section summaries → Document summary (150 chars):
Section summaries: ["Pravidla pro registraci...", "Sankce za porušení...", ...]
↓ LLM syntéza ↓
Document summary: "Dokument popisuje pravidla a sankce..." (150 chars)
→ Výhoda: Žádné truncation, pokrytí celého dokumentu bez ohledu na velikost!
Research-backed
Generic > Expert
150 chars optimum
Hierarchical bottom-up