A LlamaIndex quer que os fornecedores de ferramentas de parsing, os criadores de benchmarks e as equipas de anotação partilhem a mesma ideia do que é uma página bem convertida. A 28 de outubro, a empresa divulgou o Document Parsing Protocol (DPP) como rascunho público de trabalho, na versão 0.1. O documento reúne 140 regras para transformar páginas em Markdown estruturado, abrangendo texto corrido, tabelas, formulários, gráficos e diagramas, e cada regra vem acompanhada de páginas de exemplo e do resultado esperado.

O problema é discreto, mas real. Duas ferramentas podem extrair todas as palavras e números de uma página e, ainda assim, divergir na estrutura: se um bloco de texto alinhado é de facto uma tabela, se um cabeçalho em dois níveis deve ser fundido numa só linha, se uma tabela que continua na página seguinte conta como uma ou duas, ou o que fazer com um fluxograma. Para a LlamaIndex, estas divergências propagam-se, porque um agente de IA só raciocina sobre aquilo que o parser lhe entrega, e hoje não existe uma referência comum para decidir qual a escolha estrutural correta.

O exemplo dado pela própria empresa é uma tabela de vendas com os anos no topo e os trimestres por baixo. Um parser que junte os dois níveis em rótulos como "2024 Q2" pode até permitir que o agente responda bem, mas o DPP considera esse resultado não conforme, já que o rótulo nunca foi impresso na página e cada ferramenta o inventaria à sua maneira. A regra mantém cada nível de cabeçalho impresso numa linha própria, com a extensão exata das colunas. Como as tabelas simples em Markdown não conseguem representar células que ocupam várias colunas, o protocolo recorre a marcação HTML sempre que falta sintaxe ao Markdown.

Outras regras procuram preservar informação que os parsers costumam perder. Um campo de formulário deixado em branco é registado como [blank], para não se confundir com um campo que a ferramenta não detetou, e as caixas de verificação ficam como [x] ou [ ]. Os gráficos passam a tabelas de dados, com uma linha por categoria e uma coluna por série, e os valores lidos a partir de barras ou pontos ficam limitados à precisão que o eixo permite. Os diagramas são descritos numa linguagem como Mermaid quando é possível manter os rótulos e o sentido das setas; o texto escondido no ficheiro mas invisível na página fica de fora, e o texto visível mas ilegível é assinalado como [illegible].

O DPP nasceu das convenções de anotação que a LlamaIndex usou para etiquetar páginas do ParseBench, o seu benchmark de parsing de documentos. A empresa apresenta-o como uma grelha de respostas partilhada para quem constrói benchmarks, anota dados de treino ou revê resultados de parsers, de forma a que duas avaliações deixem de aceitar respostas diferentes para a mesma página. O rascunho indica também que diferenças são toleradas: envolver as linhas de uma tabela em elementos thead e tbody, ou dispensá-los, são formas igualmente válidas, desde que o documento seja coerente do início ao fim.

O projeto é aberto. O código do repositório run-llama/document_parsing_protocol, no GitHub, tem licença MIT, enquanto o texto do protocolo e os exemplos seguem a licença CC BY 4.0, que autoriza a reutilização comercial com atribuição. Um site de apoio, parseprotocol.com, mostra cada regra ao lado do resultado esperado, disponibiliza uma skill para o Claude e um ficheiro de referência para o ChatGPT, de modo a testar as regras numa imagem de página, e inclui uma análise passo a passo da demonstração de resultados do ano fiscal de 2024 da Apple. A LlamaIndex pede issues e pull requests sempre que uma regra falhe em documentos reais ou duas regras apontem para respostas diferentes.

O lançamento chega poucos dias depois do modelo de documentos OCRia-1, apresentado a 22 de outubro, e está próximo do negócio comercial de parsing da empresa, o LlamaParse. Daí que a neutralidade seja a grande incógnita. O próprio site esclarece que uma regra "estabelecida" o é apenas dentro deste rascunho, sem ratificação por qualquer entidade externa, e que o verificador incluído é um guia de revisão e não um conjunto automático de testes de conformidade. Saber se outros fornecedores de parsers e responsáveis por benchmarks vão adotar o DPP, ou responder com convenções concorrentes, ditará se o protocolo se torna um padrão partilhado ou fica como o manual de anotação de uma única empresa.

Referências