Nova biblioteca para IA/Agentes/LLM etc BR

Pessoal, para quem trabalha ou pretende trabalhar com LLMs, no feriado fiz uma lib que converte documentos PDF para Markdown, segmentando por página, extraindo alguns elementos relevantes como títulos, imagens, tabelas e inclusive já fazendo a contagem de tokens por página. (AlcheMark)

Algumas vantagens em coparação as concorrentes (Docling e Markitdown):

  1. Performance: no meu teste com um arquivo de 500 páginas, foi feita o parse com essa lib em 45 segundos, com Markitdown demorou 90 segundos e com Docling cerca de 3 minutos.

  2. Referências: o markitdown ou docling converte o arquivo inteiro em um blocão de markdown sem segmentar por página, tornando mais dificil da LLM referenciar qual foi a página que a informação foi extraída. Essa lib retorna um vetor de objetos, um para cada página.

  3. Estimativa de tokens: a lib já mostra a contagem de tokens que cada página tem, assim podendo ter uma previsão melhor de gastos antes de enviar no prompt.

Para esse projeto fiz um ensemble de algumas libs ja existentes, com uma abordagem diferente de tratar os dados.

Quem quiser contribuir ou puder dar uma força deixando uma estrelinha no GitHub:

https://github.com/matthsena/AlcheMark

Que show!! Estava precisando disso esses dias. Utilizei um conversor genérico, e realmente o resultado deixa a desejar um pouco (mas ainda foi melhor do que gerar só para .txt 😅). Devo fazer um posts nos próximos dias, e vou citar seu projeto como ferramenta usada!

Muito obrigado!! Estou em constante atualização com esse projeto, a principio era um projeto pessoal para o feriado de Páscoa kkkk mas animei muito fazendo e vou focar bastante nele, se tiver alguma sugestão de feature estou a disposição ;) Já recebi algumas recomendações como o processamento de headers e footers que provavelmente serão as próximas features
Sobre recomendações, dá uma olhada nesta biblioteca: markdrop. Tem algumas coisas interessantes que você pode usar como base para melhorar ainda mais sua biblioteca. https://github.com/shoryasethia/markdrop

Acabei de fazer o mesmo teste com docling e sua biblioteca. Cara, foi muito mais rápido e a conversão ficou ótima. Em um curriculo por exemplo tive resultados melhores na sua biblioteca do que no docling, que ficou desconfigurado. A observação que tenho é que na sua biblioteca em um título a palavra FORMAÇÃO exibiu assim:

FORMA Ç ÃO

--FORMA-- --Ç-- --ÃO-- (substitua o - por *)

Tem como você liberar outros exemplos da sua biblioteca? Eu vi que tem o pdf2md e o convert_pdf_to_markdown como metodos por exemplo.

Se tiver como dar mais exemplos e informações sobre como usar sua biblioteca, vai ajudar muito.