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.

Fonte: https://dev.to/__c1b9e06dc90a7e0a676b/how-i-finally-tamed-long-document-analysis-with-llms-it-wasnt-simple-chunking-5ed3