Nos últimos anos, a Geração Aumentada por Recuperação (RAG - Retrieval-Augmented Generation) se tornou uma ferramenta fundamental em diversas aplicações de Inteligência Artificial. Desde o atendimento ao cliente inteligente até bases de conhecimento empresariais, análise financeira e análise de documentos legais, a lógica subjacente é quase sempre a mesma: segmentação de documentos, vetorização, correspondência usando similaridade de cosseno e, finalmente, alimentação do conteúdo recuperado em um modelo de linguagem grande (LLM) para gerar respostas.
Essa abordagem tradicional, embora simples e eficaz em muitos cenários, apresenta desafios quando a complexidade aumenta. Problemas que abrangem múltiplas páginas ou envolvem camadas complexas de lógica frequentemente levam a busca por similaridade vetorial a direções equivocadas. Imagine, por exemplo, perguntar: "Qual será a variação anual no fluxo de caixa das atividades operacionais da empresa em 2023?". Um sistema RAG tradicional pode encontrar diversos parágrafos contendo a expressão "fluxo de caixa", mas perder nuances cruciais, como a distinção entre atividades operacionais e de investimento, ou a comparação entre 2023 e 2022. O resultado? Alta similaridade, mas baixa correlação com a informação desejada.
A Limitação da Vetorização Tradicional em RAG
Muitos sistemas RAG utilizam bancos de dados vetoriais (Vector DB), que convertem texto em valores numéricos para buscar "textos similares". O problema reside no fato de que "similar" nem sempre significa "informação desejada". Um parágrafo similar em um manual, por exemplo, pode ser encontrado, mas condições ou exceções importantes podem ser negligenciadas.
É nesse contexto que surge o PageIndex, um novo mecanismo RAG desenvolvido pela Vectify AI. A ideia central é simples e inspirada na forma como os humanos abordam a leitura de um livro: primeiro, consultamos o índice, abrimos o capítulo relevante e, em seguida, seguimos os subtítulos para chegar à informação desejada. O PageIndex permite que a IA faça exatamente isso, encontrando as "partes verdadeiramente relacionadas" em vez de simplesmente "sentenças similares".
PageIndex: Uma Nova Abordagem RAG Sem Vetores
O PageIndex representa uma nova abordagem, um framework RAG baseado em raciocínio e sem vetores, que realiza a recuperação em duas etapas: primeiro, gera um índice de estrutura em árvore dos documentos e, segundo, realiza a recuperação baseada em raciocínio por meio da busca na árvore. Ao contrário dos sistemas RAG tradicionais baseados em vetores, o PageIndex dispensa vetores ou segmentação artificial, simulando a navegação humana através do documento e fornecendo um processo transparente e baseado em raciocínio, em vez de uma busca semântica aproximada.
O processo funciona da seguinte forma: ao receber uma consulta, o sistema carrega um arquivo PDF, baixa-o localmente usando o módulo `requests` do Python e o salva em uma pasta estruturada. Em seguida, submete o PDF ao PageIndex, que constrói uma estrutura hierárquica em árvore do documento, organizando-o em seções naturais e gerando resumos para cada nó.
Posteriormente, um prompt cuidadosamente elaborado é preparado para o LLM, incluindo a pergunta e a árvore simplificada (com o texto removido para reduzir o tamanho), solicitando ao modelo que identifique os nós mais propensos a conter a resposta, retornando tanto seu raciocínio quanto uma lista de IDs de nós em formato JSON estruturado.
Por fim, um mapeamento de todos os nós na árvore do documento é criado, a resposta do LLM é analisada e o raciocínio do modelo para a seleção de determinados nós é impresso. Em seguida, o sistema percorre os IDs de nós identificados, recupera seus títulos, números de página e texto, e compila esse conteúdo em um contexto legível.
Como o PageIndex Supera as Limitações do RAG Tradicional
Em sistemas RAG convencionais, as sentenças são vetorizadas e, em seguida, as sentenças altamente similares são buscadas e referenciadas. No entanto, esse método muitas vezes recupera informações que são "similares em significado, mas diferentes em contexto", o que reduz a precisão da resposta. O PageIndex, por outro lado, propõe uma abordagem RAG que dispensa o uso de um banco de dados vetorial.
Especificamente, o método PageIndex converte um documento em uma estrutura hierárquica em árvore (semelhante a um índice), e o LLM pesquisa nessa estrutura, tornando possível entender o contexto e encontrar as informações necessárias, da mesma forma que um humano leria um documento.
As Três Etapas Principais do PageIndex
O PageIndex opera em três etapas principais:
- OCR (Leitura Clara do Documento): Enquanto o OCR ordinário processa cada página individualmente, o que pode levar a títulos e listas desorganizadas, o OCR do PageIndex entende o documento inteiro como uma única estrutura e o digitaliza de forma organizada, preservando títulos e tabelas.
- Geração da Árvore (Criação de um Índice em Árvore): Converte documentos diretamente em uma estrutura hierárquica, como um índice. Uma estrutura em árvore com capítulos, seções e subseções é criada, facilitando a navegação, mesmo em relatórios longos, sem se perder.
- Recuperação (Busca Rastreando a Árvore): A IA pesquisa a árvore com base na pergunta e coleta todas as partes relevantes. Ela também sabe quais páginas e capítulos foram visitados, de modo que os resultados da pesquisa são bem fundamentados.
PageIndex vs. RAG Convencional
O RAG convencional vetoriza documentos inteiros e os armazena em um banco de dados vetorial. Em seguida, busca documentos relevantes com base na similaridade entre a pergunta do usuário e o conteúdo dos documentos. No entanto, esse método depende apenas da similaridade estatística de palavras e frases, de modo que nem sempre captura a verdadeira relevância. Além disso, documentos longos são divididos em partes menores (chunks), o que interrompe o contexto e oculta conexões importantes.
O PageIndex resolve esses problemas usando a estrutura hierárquica inerente dos documentos, sem dividi-los em partes pequenas. Isso permite que os LLMs recuperem informações com base na relevância semântica contextual, em vez de simples similaridade de palavras.
Conclusão
O PageIndex representa uma evolução significativa na tecnologia RAG. Ao explorar documentos como uma árvore de índice, a IA garante alta relevância e fornece evidências claras para suas respostas. A dispensa de um banco de dados vetorial torna o PageIndex adequado para ambientes locais (on-premise) e para a busca de documentos confidenciais. O PageIndex é particularmente eficaz em áreas onde a precisão é crítica, como contratos, tecnologia e finanças.
O futuro da RAG parece promissor, com abordagens como o PageIndex pavimentando o caminho para sistemas mais inteligentes, precisos e contextualmente conscientes. À medida que a complexidade dos desafios de IA aumenta, soluções inovadoras como o PageIndex se tornarão cada vez mais essenciais para desbloquear o verdadeiro potencial dos modelos de linguagem grandes.