Il RAG supporterà i file PDF in futuro?

Innanzitutto, la tua roba AI spacca!

In secondo luogo, se pubblichiamo file PDF, Word o PowerPoint sul nostro forum, li leggerà anche e li dividerà in vettori per il RAG?

2 Mi Piace

Purtroppo non abbiamo ancora il supporto per i PDF, è qualcosa a cui stiamo pensando. Supportiamo i file TXT nella nostra implementazione Persona e Tool RAG. Quindi, finché sei in grado di convertire il materiale sorgente in file di testo, puoi utilizzarlo in una persona.

3 Mi Piace

Sì, è quello che abbiamo fatto, abbiamo convertito gli allegati in testo e li abbiamo associati a ciascun argomento.

1 Mi Piace

Abbiamo ricevuto questo feedback alcune volte e stiamo prendendo in considerazione l’espansione del supporto per le estensioni in futuro attraverso la nostra implementazione del bot AI persona e Tool RAG.

4 Mi Piace

come soluzione temporanea per ora, convertiamo il file powerpoint, word o pdf in testo e lo alleghiamo allo stesso argomento a cui appartiene.

1 Mi Piace

Il supporto PDF cambierebbe assolutamente le regole del gioco per molte community! Dato che sembra essere uno standard universale per i documenti, ci troviamo spesso a dover riformattare le cose in .txt per RAG, il che richiede molto tempo :face_with_spiral_eyes:

6 Mi Piace

Stiamo finendo alcuni lavori sugli Embeddings e non appena saranno completati, la prossima cosa sarà aggiungere il supporto PDF.

5 Mi Piace

Wow, è davvero fantastico. Complimenti al team che tiene sempre conto di ciò di cui la community ha bisogno!

E per quanto riguarda i file JSON? Avevo un sacco di chat di Discord esportate che dobbiamo interrogare all’interno dell’IA in modo da non perdere queste informazioni :slight_smile:

Stavo pensando di fare il fine-tuning dei modelli, ma penso che aggiungere i file a Discourse dovrebbe essere meglio e più semplice per tutti con un caso d’uso simile.

JSON è solo testo, quindi lo supportiamo già.

È una rappresentazione inefficiente per gli LLM dato l’elevato volume di duplicazioni all’interno del formato, quindi sprecherebbe alcuni token, ma nel complesso funzionerà. Consiglierei di eseguire uno script su di esso e riformattarlo per migliorare le prestazioni di RAG.

È molto difficile farlo automaticamente perché il JSON può essere molto nidificato e scegliere una rappresentazione testuale specifica del dominio perfetta dipende molto dal dominio.

3 Mi Piace

Grazie Sam, posso chiedere del tuo suggerimento per mantenere un equilibrio tra prestazioni e prezzo quando si aggiungono circa 150 MB di JSON (su PDF)?

È la prima volta che mi occupo di RAG sui nostri dati e presto inizierò a imparare il processo.

Apprezzo anche qualsiasi spunto dalla community.

Devo dire che questo commit è davvero fantastico :heart_eyes:

C’è forse, possibilmente, forse una tempistica per il rilascio completo di questa funzionalità? Vedo che per ora è una funzionalità del sito nascosta.

5 Mi Piace

Una delle sfide del lavoro dietro questo è il supporto per PDF di tutti i tipi. Come puoi immaginare, alcuni PDF sono di testo puro e facili da analizzare. Tuttavia, ce ne sono alcuni con caratteri personalizzati, immagini, grafica, formattazione non lineare, ecc.

Stiamo cercando un modo per far funzionare tutti i tipi di PDF e, pertanto, potrebbe volerci un po’ di tempo.

4 Mi Piace

Molto ben detto. Penso che DeepSeek stia ora cambiando un po’ questo panorama. Eseguire modelli DeepSeek più piccoli localmente con ollama può ora fornire inferenze di qualità e offrire una soluzione a queste preoccupazioni.

Scusa il disturbo, @Saif, potrei chiederti aiuto su un argomento correlato qui: How to properly debug AI Personas? Grazie!

Grazie per un incredibile miglioramento a un plugin già fantastico.

La PR sottolinea che:

  • Job di digestione RAG: Il job DigestRagUpload ora gestisce i caricamenti di PDF e immagini. Utilizza PdfToImages e ImageToText per estrarre testo e creare frammenti di documenti.

Quando verrà eseguito effettivamente questo job? È qualcosa che devo avviare io?

Ho appena caricato alcuni file txt e un PDF. I file txt vengono indicizzati immediatamente, ma il PDF dice ancora “pronto per essere indicizzato”.

Grazie. :pray:

1 Mi Piace

Il processo è in esecuzione ma sta riscontrando un bug:

Jobs::HandledExceptionWrapper: Wrapped NameError: undefined local variable or method `temp_dir’ for an instance of DiscourseAi::Utils::PdfToImages

Mi auto-ospito. Forse è qualcosa che posso approfondire?

Ti consiglierei di rimandare l’uso di questa funzionalità poiché non è ancora tecnicamente attiva. Incontrerai problemi qui.

2 Mi Piace

Penso di aver trovato il problema in PdfToImages:

3 Mi Piace

Confermato, dammi qualche giorno qui, voglio anche provare l’estrazione diretta del testo che è qualcosa che possiamo abilitare per impostazione predefinita.

Quindi l’“estrazione avanzata” basata su LLM può essere dietro flag.

Il problema con molti PDF è che sono enormi e possono gravare molto sulle risorse del server. Inoltre, cose come tesseract possono essere un po’ complicate da installare - può migliorare la qualità.

5 Mi Piace

@sam, mi auto-ospito e sto lottando con tesseract ora. Installato senza problemi ma sta generando errori che non sembrano abbastanza seri da far fallire il lavoro:

Errore durante l’elaborazione OCR: /var/www/discourse/lib/discourse.rb:139:in `exec’: Impossibile eseguire l’OCR dell’immagine con Tesseract
Stima della risoluzione come 337

Anche con quell’errore, il PDF viene mostrato in Persona come indicizzato.

Non sono sicuro di cosa significhi questo in termini di impatto su RAG. Approfondirò durante il fine settimana.

Grazie per aver risposto così rapidamente.

2 Mi Piace

Abbiamo una valutazione (e voglio aggiungerne altre), ma fondamentalmente a seconda del modello la qualità da immagine a testo varia molto se non è ancorata.
La buona notizia, tuttavia, è che con i PDF possiamo estrarre il testo in modo lossless e poi fare affidamento sull’LLM solo per migliorarlo se si vuole una finitura di lusso. Dovremmo avere qualcosa la prossima settimana.

6 Mi Piace