Pare de construir pipelines de RAG desse jeito... Use o MarkItDown

BBetter Stack
Computing/SoftwareInternet Technology

Transcript

00:00:00Passamos muito mais tempo processando documentos do que realmente construindo nossos aplicativos de IA.
00:00:05Conectamos várias bibliotecas, finalmente colocamos um PDF no pipeline, e a LLM ainda dá respostas ruins.
00:00:11Não porque o modelo seja ruim, mas porque o markdown é.
00:00:14Isto é o MarkItDown.
00:00:16Uma ferramenta da Microsoft que estourou com mais de 110.000 estrelas no GitHub,
00:00:21e ela conserta o pipeline inteiro basicamente com uma linha de código.
00:00:24Vou te mostrar como tudo isso funciona em apenas alguns minutos.
00:00:30[Música]
00:00:33Ok, agora, basicamente todo projeto de IA começa da mesma forma.
00:00:36Você tem arquivos por toda parte, documentos do Word, slides, planilhas, prints de PDF, talvez até arquivos de áudio.
00:00:43E então vem a parte legal, que nós desenvolvedores adoramos.
00:00:46Podemos começar a empilhar ferramentas.
00:00:49Então, teremos uma ferramenta para PDFs, uma para Excel, para Word, certo?
00:00:54Todas essas bibliotecas que estamos vinculando para nos ajudar a construir esse pipeline.
00:00:59No começo parece bom, funciona, claro.
00:01:02Então as coisas começam a quebrar.
00:01:04Tabelas perdem a estrutura, títulos desaparecem e o uso de tokens, obviamente, começa a explodir.
00:01:10E agora o pipeline de RAG basicamente só está puxando lixo e o agente está nos dando respostas ruins.
00:01:16E estamos depurando a ingestão em vez de realmente lançar o produto.
00:01:19E, na verdade, o que isso está fazendo?
00:01:21Está apenas perdendo tempo.
00:01:22Não minutos, mas horas toda semana.
00:01:25Então, em vez de consertar seu modelo, você precisa na verdade consertar sua entrada.
00:01:29Deixe-me mostrar como isso realmente parece.
00:01:31Se você gosta de ferramentas para acelerar seu fluxo de trabalho, não deixe de se inscrever.
00:01:35Temos vídeos saindo o tempo todo.
00:01:37Certo, agora deixe-me passar por isso rapidinho.
00:01:39É tudo em Python, então é bem simples.
00:01:42Primeiro, instalo tudo via pip no meu ambiente virtual.
00:01:45Tenho um PDF aqui, apenas doc.pdf.
00:01:48E posso executar isso no meu terminal.
00:01:50Vou executar markitdown, doc.pdf, output.md.
00:01:55É isso.
00:01:56Ele cria um arquivo para mim automaticamente.
00:01:58Podemos abrir esse arquivo e dentro está mais ou menos o que esperávamos.
00:02:03Os títulos estão limpos, as tabelas realmente parecem tabelas, a estrutura ainda está lá.
00:02:08E agora, quando escrevemos algum código em Python para isso, podemos fazer ainda mais.
00:02:13Então, com meus imports e usando a OpenAI, posso criar um cliente e depois um objeto markdown.
00:02:20Vou inserir minha chave de API e o modelo que queremos executar.
00:02:25Quando executo o código, a saída é gerada no meu terminal, então é super limpo.
00:02:29E melhor ainda, o que é realmente legal é que posso usar uma imagem PNG.
00:02:33Para isso, peguei um gráfico da NVIDIA.
00:02:35Aqui está minha imagem com alguns dados nela.
00:02:39Agora posso converter o gráfico em markdown.
00:02:42Então posso deixar o MarkItDown fazer seu trabalho, apenas usando a função de conversão novamente.
00:02:47Desta vez estamos fornecendo nossa imagem, nosso PNG.
00:02:50E aqui agora temos o resumo do que é aquele gráfico e o que poderíamos extrair e usar para RAG.
00:02:56Isso é enorme, pois agora nos permite extrair o que precisamos mais rápido bem aqui em nosso código
00:03:01para que possamos continuar trabalhando sem pular entre várias abas diferentes.
00:03:05Então, o que é o MarkItDown, na verdade?
00:03:07É uma ferramenta Python de código aberto da Microsoft Research.
00:03:11É licenciada pelo MIT, construída especificamente para fluxos de trabalho de LLM.
00:03:16Seu trabalho é pegar arquivos bagunçados e transformá-los em markdowns limpos.
00:03:19Para que os modelos possam realmente entendê-los.
00:03:22Ele suporta muito mais do que realmente esperaríamos.
00:03:25Word, PowerPoint, Excel, PDF, áudio, imagens e também coisas como links, realmente qualquer coisa, o que você quiser.
00:03:32Ele até tem um servidor MCP agora, então você pode conectá-lo diretamente a ferramentas como Claude Desktop ou até mesmo seu próprio agente.
00:03:40Além dos plugins.
00:03:41Então, em vez de construir pipelines de ingestão, agora estamos basicamente apenas chamando uma ferramenta.
00:03:47Os desenvolvedores não estavam lutando com modelos, eles estavam lutando com entradas.
00:03:51E a expectativa era: ok, use modelos melhores.
00:03:55Mas a realidade disso tudo é que entradas melhores equivalem a saídas melhores.
00:04:00Então, agora, em vez de escrever scripts que estão quebrando, as pessoas estão usando uma ferramenta para tudo, o MarkItDown.
00:04:06Pipelines de RAG, agentes, datasets de fine-tuning, bases de conhecimento, análise de documentos, tudo isso que já estamos fazendo.
00:04:13E o detalhe principal que a maioria perde é que ele produz markdown estruturado e eficiente em termos de tokens.
00:04:20Portanto, há menos ruído entrando, mas estamos obtendo respostas melhores, uma saída melhor.
00:04:24Mas isso não significa que seja perfeito.
00:04:26Agora vamos comparar isso com o que você provavelmente já está usando ou que já viu por aí.
00:04:31Bem, temos uma ferramenta chamada Pandoc, então você esperaria que o Pandoc vencesse aqui, certo?
00:04:36Mas ele resolve um problema diferente do MarkItDown.
00:04:40Pandoc é para humanos, então publicação, formatação, LaTeX.
00:04:44MarkItDown é para máquinas, LLMs, pipelines, automação.
00:04:48É mais ou menos a mesma ideia, mas o objetivo é diferente.
00:04:51E então temos coisas como Unstructured ou Docling.
00:04:55Essas são ótimas, mas também são muito pesadas.
00:04:58Elas usam modelos de ML, exigem mais configuração e são melhores para documentos muito complexos.
00:05:03MarkItDown adota a abordagem oposta a tudo isso.
00:05:05Há menos configuração, é super fácil, resultados mais rápidos e é bom o suficiente para a maioria dos arquivos.
00:05:11Então, aqui está a verdadeira compensação.
00:05:12Você quer uma extração perfeita ou quer algo que funcione de forma muito rápida e confiável?
00:05:18Para a maioria de nós, a velocidade vai vencer.
00:05:20Agora, claro, as desvantagens: PDFs complexos ainda vão quebrá-lo, certo?
00:05:24Especialmente tabelas densas ou layouts estranhos.
00:05:27Se você lida com documentos bagunçados todos os dias, ferramentas como Docling ou Unstructured vão se sair muito melhor.
00:05:32Mas se você quiser descrições de imagem, precisará conectar uma LLM.
00:05:36Portanto, não é perfeito, mas é uma ferramenta muito legal que está resolvendo um problema real.
00:05:41Então, vale a pena usar?
00:05:43Sim, para a maioria das pessoas, absolutamente.
00:05:45Se você está construindo aplicativos de IA agora, provavelmente é assim que sua camada de ingestão deveria ser.
00:05:50Você deveria tentar usar o MarkItDown.
00:05:52Apenas tente, se você quiser uma entrada limpa para RAG ou agentes.
00:05:56Você lida com tipos de arquivo mistos.
00:05:58É muito bom para essas coisas.
00:05:59E você não quer manter um monte de scripts frágeis que podem quebrar, certo?
00:06:03Pule ou combine se você estiver trabalhando com PDFs extremamente complexos todos os dias.
00:06:08Existem outras ferramentas por aí.
00:06:09Se você gosta de ferramentas de código aberto e dicas de codificação como esta, não deixe de se inscrever no canal Better Stack.
00:06:15Nos vemos em outro vídeo.

Key Takeaway

Substituir múltiplos scripts de ingestão frágeis pelo MarkItDown otimiza pipelines de RAG ao converter diversos tipos de arquivos em markdown limpo e eficiente em tokens com esforço mínimo de configuração.

Highlights

O MarkItDown, ferramenta da Microsoft Research, padroniza a ingestão de diversos formatos de arquivo para markdown com uma única linha de código.

O uso do MarkItDown reduz a complexidade do pipeline de RAG ao eliminar a necessidade de bibliotecas específicas para cada tipo de documento (PDF, Excel, Word, etc.).

A ferramenta gera markdown estruturado e eficiente em tokens, resultando em menor ruído para modelos de linguagem (LLMs) e respostas mais precisas.

O MarkItDown converte imagens, como gráficos, em descrições de texto utilizáveis para RAG ao integrar-se com LLMs.

Diferente do Pandoc, focado em publicação humana, o MarkItDown é otimizado para máquinas, LLMs e fluxos de trabalho de automação.

Timeline

A ineficiência nos pipelines de RAG tradicionais

  • O processamento de documentos heterogêneos exige múltiplas bibliotecas que frequentemente quebram a estrutura dos dados.
  • A ingestão ineficiente causa perda de estrutura em tabelas, desaparecimento de títulos e consumo excessivo de tokens.
  • Problemas nas respostas de agentes de IA decorrem mais da qualidade da entrada do que da capacidade do modelo.

O desenvolvimento de pipelines começa com o acúmulo de bibliotecas para lidar com diferentes formatos de arquivos, como PDFs, planilhas e imagens. Esse processo torna-se instável rapidamente, resultando em dados corrompidos e aumento no uso de tokens. O esforço concentrado na depuração da ingestão desvia o foco do lançamento real do produto.

Implementação e capacidades do MarkItDown

  • A conversão de documentos para markdown ocorre através de um comando simples no terminal ou uma função direta em Python.
  • O MarkItDown preserva a estrutura de títulos e tabelas de documentos como PDFs.
  • A integração com a OpenAI permite extrair informações e resumos de arquivos de imagem, como gráficos PNG.

A ferramenta permite a conversão direta de arquivos via linha de comando ou integração programática em Python usando o cliente da OpenAI. Os resultados incluem títulos limpos e tabelas estruturadas, ideais para o consumo por LLMs. A capacidade de processar imagens permite que o sistema extraia dados de gráficos para alimentar o RAG sem alternar entre diferentes ferramentas.

Posicionamento e limitações da ferramenta

  • O MarkItDown é um projeto de código aberto da Microsoft Research licenciado pelo MIT, focado em fluxos de trabalho de LLM.
  • A ferramenta prioriza velocidade e facilidade de uso em vez da extração perfeita de documentos complexos.
  • Ferramentas como Docling ou Unstructured superam o MarkItDown em PDFs com layouts extremamente densos ou atípicos.

O MarkItDown ocupa um espaço específico destinado a automação para máquinas, distinguindo-se do Pandoc (focado em publicação humana). Ele oferece uma configuração mínima, tornando-o ideal para a maioria dos casos de uso, embora não substitua soluções mais pesadas para documentos com tabelas densas ou layouts estranhos. A ferramenta suporta uma ampla gama de arquivos, incluindo áudio, links e documentos do Microsoft Office.

Community Posts

View all posts