¿RAG soportará archivos PDF en el futuro?

Primero, ¡tu IA es genial!

Segundo, si publicamos archivos PDF, Word o PowerPoint en nuestro foro, ¿también los leerá y los dividirá en vectores para RAG?

2 Me gusta

Lamentablemente, todavía no tenemos soporte para PDF, es algo en lo que estamos pensando. Admitimos archivos TXT en nuestra implementación de Persona y Tool RAG. Por lo tanto, siempre que pueda convertir el material de origen a archivos de texto, podrá consumirlo en una persona.

3 Me gusta

Sí, eso es lo que hicimos, convertimos los archivos adjuntos a texto y los asociamos con cada tema.

1 me gusta

Hemos visto este comentario algunas veces y estamos considerando expandir el soporte de extensiones en el futuro a través de nuestra personalidad de bot de IA y la implementación de Tool RAG.

4 Me gusta

Como solución provisional por ahora, simplemente convertimos el archivo de PowerPoint, Word o PDF a texto y lo adjuntamos al mismo tema al que pertenece.

1 me gusta

¡El soporte para PDF sería un gran avance para muchas comunidades! Dado que parece ser un estándar universal para documentos, a menudo tenemos que reformatear cosas a .txt para RAG, lo que realmente consume mucho tiempo :face_with_spiral_eyes:

6 Me gusta

Estamos terminando un trabajo en Embeddings y, tan pronto como eso se complete, lo próximo será agregar soporte para PDF.

5 Me gusta

Vaya, eso es súper bueno. ¡Felicitaciones al equipo que siempre tiene en cuenta lo que la comunidad necesita!

¿Qué pasa con los archivos JSON? Tengo un montón de chats de Discord exportados que necesitamos consultar dentro de la IA para no perder esta información :slight_smile:

Estaba pensando en ajustar modelos, pero creo que añadir los archivos a Discourse sería mejor y más simple para todos con un caso de uso similar.

JSON es solo texto, así que ya lo soportamos.

Es una representación ineficiente para los LLM dado el gran volumen de duplicación dentro del formato, por lo que desperdiciaría algunos tokens, pero en general funcionará. Recomendaría ejecutar un script sobre él y reformatearlo para mejorar el rendimiento de RAG.

Es muy difícil hacer esto automáticamente porque JSON puede estar muy anidado y elegir una representación de texto específica del dominio perfecta depende en gran medida del dominio.

3 Me gusta

Gracias Sam, ¿puedo preguntar sobre tu sugerencia para mantener un rendimiento+precio equilibrado al agregar ~150 MB de JSON (en PDF)?

Es la primera vez que utilizo RAG con nuestros datos y pronto empezaré a aprender sobre el proceso.

Agradezco cualquier información de la comunidad también.

Debo decir que este commit se ve bastante hermoso :heart_eyes:

¿Hay alguna posibilidad de que haya un cronograma para el lanzamiento completo de esta función? Veo que por ahora es una función oculta del sitio.

5 Me gusta

Uno de los desafíos del trabajo detrás de esto es dar soporte a todos los tipos de PDF. Como puedes imaginar, algunos PDF son texto plano y fáciles de analizar. Sin embargo, hay algunos con fuentes personalizadas, imágenes, gráficos, formato no lineal, etc.

Estamos tratando de encontrar una manera de hacer que todo tipo de PDF funcionen y, por lo tanto, puede llevar algo de tiempo.

4 Me gusta

Muy bien dicho. Creo que DeepSeek está cambiando un poco ese panorama. Ejecutar modelos DeepSeek más pequeños localmente con ollama ahora puede proporcionar inferencia de calidad y ofrecer una solución a estas preocupaciones.

Disculpa la molestia, @Saif, ¿podrías ayudarme con un tema relacionado aquí: How to properly debug AI Personas? Gracias!

Gracias por una mejora tan increíble en un plugin que ya era asombroso.

La PR señala que:

  • Trabajo de digestión RAG: El trabajo DigestRagUpload ahora maneja cargas de PDF e imágenes. Utiliza PdfToImages e ImageToText para extraer texto y crear fragmentos de documentos.

¿Cuándo se ejecutará realmente este trabajo? ¿Es algo que necesito iniciar?

Acabo de subir algunos archivos txt y un PDF. Los archivos txt se indexan inmediatamente, pero el PDF todavía dice “listo para ser indexado”.

Gracias. :pray:

1 me gusta

El trabajo se está ejecutando pero está experimentando un error:

Jobs::HandledExceptionWrapper: Wrapped NameError: variable local o método `temp_dir’ no definido para una instancia de DiscourseAi::Utils::PdfToImages

Me auto-hospedo. ¿Quizás esto es algo en lo que puedo profundizar?

Te sugeriría que te abstengas de usar esta función ya que aún no está técnicamente activa. Vas a tener problemas aquí.

2 Me gusta

Creo que encontré el problema en PdfToImages:

3 Me gusta

Confirmado, deme unos días aquí, también quiero probar la extracción de texto directo, que es algo que podemos habilitar por defecto.

Luego, la extracción “enriquecida” basada en LLM puede estar detrás de indicadores.

El problema con muchos PDF es que son enormes y pueden consumir muchos recursos del servidor. Además, cosas como Tesseract pueden ser un poco complicadas de instalar; puede mejorar la calidad.

5 Me gusta

@sam, me autoalojo y ahora estoy lidiando con tesseract. Se instaló sin problemas, pero está arrojando errores que no parecen ser lo suficientemente graves como para fallar el trabajo:

Error durante el procesamiento de OCR: /var/www/discourse/lib/discourse.rb:139:in `exec’: Falló el OCR de la imagen con Tesseract
Estimando la resolución en 337

Incluso con ese error, el PDF se muestra en Persona como indexado.

No estoy seguro de lo que esto significa en términos de impacto en RAG. Profundizaré durante el fin de semana.

Gracias por responder tan rápidamente.

2 Me gusta

[cita=“Chris, post:19, tema:335804, nombre de usuario:Yenwod”]
No estoy seguro de qué significa esto en términos del impacto en RAG.
[/cita]

Tenemos una evaluación (y quiero agregar más), pero básicamente, dependiendo de la calidad de la imagen del modelo a texto, varía mucho si no está fundamentada.

La buena noticia, sin embargo, es que con PDF podemos hacer extracción de texto de manera sin pérdidas y luego solo apoyarnos en el LLM para mejorarlo si quieres pulirlo mucho. Debería tener algo para la próxima semana.

6 Me gusta