Addomesticare i documenti lunghi con gli LLM
Ho costruito un sistema per rispondere a domande basate su PDF tecnici di 100 pagine.
Gli script semplici hanno fallito. Ho combattuto contro i limiti di token e gli alti costi per settimane.
Il mio primo tentativo consisteva nell'usare GPT-4 con il testo completo. Funzionava per 10 pagine. A 100 pagine, ho raggiunto il limite di token. Il modello dimenticava i dettagli a metà documento. I costi erano troppo elevati.
Ho provato questi metodi:
- Chunking di base: il modello selezionava le sezioni sbagliate. Mancava il contesto.
- Map-reduce: ho perso i dettagli specifici.
- Finestre scorrevoli (sliding windows): era troppo lento e costoso.
Imito il modo in cui leggono gli esseri umani. Diamo un'occhiata veloce all'indice. Poi leggiamo sezioni specifiche.
Ecco il nuovo workflow:
- Crea una gerarchia. Usa un LLM per creare un breve riassunto per ogni chunk.
- Memorizza i riassunti e il testo completo in un database vettoriale.
- Usa la ricerca ibrida. Combina parole chiave e ricerca semantica.
- Recupera prima i primi 3 riassunti.
- Estrai il testo completo per quei riassunti.
- Passa questo contesto all'LLM.
I risultati:
- I costi sono diminuiti del 70%.
- I termini tecnici sono ora accurati.
- La precisione è migliorata.
Consigli per la tua configurazione:
- Usa GPT-3.5 per i riassunti.
- Usa GPT-4 per la risposta finale.
- Crea presto un dataset di test.
- Inserisci tutto il contenuto nel prompt per i documenti di meno di 20 pagine.