RAG suportará arquivos PDF no futuro?

primeiro, suas coisas de IA são demais!

segundo, se postarmos arquivos PDF, Word ou PowerPoint em nosso fórum, ele também os lerá e os dividirá em vetores para RAG?

2 curtidas

Infelizmente, ainda não temos suporte a PDF, é algo que estamos considerando. Apoiamos arquivos TXT em nossa implementação de Persona e Tool RAG. Portanto, desde que você consiga converter o material de origem para arquivos de texto, poderá consumi-lo em uma persona.

3 curtidas

Sim, foi o que fizemos, convertemos os anexos em texto e os associamos a cada tópico.

1 curtida

Vimos esse feedback algumas vezes e estamos considerando expandir o suporte a extensões no futuro por meio de nossa persona de bot de IA e implementação de Tool RAG.

4 curtidas

como uma solução alternativa por enquanto, nós apenas convertemos o arquivo powerpoint, word ou pdf para texto e o anexamos ao mesmo tópico a que pertence.

1 curtida

O suporte a PDF seria uma mudança de jogo absoluta para muitas comunidades! Dado que parece ser um padrão universal para documentos, muitas vezes nos encontramos tendo que reformatar coisas para .txt para RAG, o que é realmente demorado :face_with_spiral_eyes:

6 curtidas

Estamos finalizando alguns trabalhos em Embeddings e, assim que isso for concluído, o próximo passo será adicionar suporte a PDF.

5 curtidas

Uau, isso é super legal. Parabéns à equipe que sempre leva em consideração o que a comunidade precisa!

E quanto aos arquivos JSON? Eu tinha um monte de chats do Discord exportados que precisamos consultar dentro da IA para não perdermos essas informações :slight_smile:

Eu estava pensando em ajustar modelos, mas acho que adicionar os arquivos ao Discourse seria melhor e mais simples para todos com um caso de uso semelhante.

JSON é apenas texto, então já o suportamos.

É uma representação ineficiente para LLMs, dada a grande quantidade de duplicação dentro do formato, o que desperdiçaria alguns tokens, mas, no geral, funcionará. Eu recomendaria executar um script sobre ele e reformatá-lo para melhorar o desempenho do RAG.

É muito difícil fazer isso automaticamente porque o JSON pode ser muito aninhado e escolher uma representação de texto específica do domínio perfeita depende muito do domínio.

3 curtidas

Obrigado, Sam. Posso perguntar sobre sua sugestão para manter um desempenho+preço equilibrado ao adicionar cerca de 150 MB de JSON (em PDF)?

Esta é a primeira vez que uso RAG em nossos dados e em breve começarei a aprender sobre o processo.

Agradeço qualquer insight da comunidade também.

Devo dizer que este commit está muito bonito :heart_eyes:

Existe alguma linha do tempo para o lançamento completo deste recurso? Vejo que é um recurso oculto do site por enquanto.

5 curtidas

Um dos desafios com o trabalho por trás disso é o suporte a PDFs de todos os tipos. Como você pode imaginar, alguns PDFs são texto puro e fáceis de analisar. No entanto, existem alguns com fontes personalizadas, imagens, gráficos, formatação não linear, etc…

Estamos tentando encontrar uma maneira de fazer com que todos os tipos de PDFs funcionem e, como tal, pode levar um tempo.

4 curtidas

Muito bem dito. Acho que o DeepSeek está mudando um pouco esse cenário agora. Rodar modelos menores do DeepSeek localmente com ollama agora pode fornecer inferência de qualidade e oferecer uma solução para essas preocupações.

Desculpe incomodar, @Saif, posso ter sua ajuda com um tópico relacionado aqui: How to properly debug AI Personas? Obrigado!

Obrigado por um aprimoramento tão incrível em um plugin já fantástico.

O PR aponta que:

  • Job de Digestão RAG: O job DigestRagUpload agora lida com uploads de PDF e imagem. Ele usa PdfToImages e ImageToText para extrair texto e criar fragmentos de documentos.

Quando este job realmente será executado? É algo que preciso iniciar?

Acabei de fazer upload de alguns arquivos txt e um PDF. Os arquivos txt são indexados imediatamente, mas o PDF ainda diz “pronto para ser indexado”.

Obrigado. :pray:

1 curtida

O trabalho está em execução, mas está apresentando um bug:

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

Eu mesmo hospedo. Talvez isso seja algo em que eu possa investigar mais a fundo?

Eu esperaria antes de usar este recurso, pois ele ainda não está tecnicamente ativo. Você vai encontrar problemas aqui.

2 curtidas

Acho que encontrei o problema em PdfToImages:

3 curtidas

Confirmado, me dê alguns dias aqui, quero também tentar a extração de texto direta, que é algo que podemos habilitar por padrão.

Então a extração “rica” baseada em LLM pode ficar atrás de flags.

O problema com muitos PDFs é que eles são enormes e podem consumir muitos recursos do servidor. Além disso, coisas como o Tesseract podem ser um pouco complicadas de instalar - isso pode melhorar a qualidade.

5 curtidas

@sam, eu hospedo em casa e estou lutando com o tesseract agora. Instalou sem problemas, mas está gerando erros que não parecem ser sérios o suficiente para falhar o trabalho:

Erro durante o processamento de OCR: /var/www/discourse/lib/discourse.rb:139:in `exec’: Falha ao fazer OCR da imagem com Tesseract
Estimando a resolução como 337

Mesmo com esse erro, o PDF mostra na Persona como sendo indexado.

Não tenho certeza do que isso significa em termos de impacto no RAG. Vou investigar mais a fundo durante o fim de semana.

Obrigado por responder tão rapidamente.

2 curtidas

Temos uma avaliação (e quero adicionar mais), mas basicamente, dependendo da qualidade da imagem do modelo para texto, varia muito se não estiver fundamentada.
A boa notícia, no entanto, é que com PDF podemos fazer a extração de texto de forma sem perdas e, em seguida, apenas confiar no LLM para melhorá-la se você quiser um acabamento de luxo. Deverá haver algo na próxima semana.

6 curtidas