Objetivo da iniciativa
Disponibilizar a todos do MPAC uma plataforma para anexar arquivos em PDF e usar uma Inteligência Artificial para "conversar" sobre os arquivos que foram anexados, permitindo tirar dúvidas e encontrar informações com base no contexto da pergunta. Tudo isso sem o uso de serviços externos, com a IA funcionando a partir dos servidores do MPAC, garantindo total privacidade dos documentos anexados.
A Inteligência Artificial Generativa é um ramo da IA que se concentra na criação de novos conteúdos a partir de dados existentes. Diferentemente de modelos tradicionais, que apenas reconhecem e classificam dados, a IA generativa é capaz de produzir texto, imagens, música e outros tipos de conteúdo de forma autônoma. No contexto de nosso projeto, utilizamos a IA generativa para criar respostas contextuais baseadas em documentos e informações fornecidas, permitindo uma interação mais natural e eficiente com o sistema. Para isso, usamos uma técnica chamada RAG
Recuperação de Informação Aumentada (RAG), ou Retrieval-Augmented Generation, em inglês, é uma técnica que combina métodos de recuperação de informações tradicionais com grandes modelos de linguagem (LLM), ou Large Language Models, em inglês, para melhorar a precisão e relevância das respostas fornecidas.
LLMs são treinados com um grande volume de dados e usam bilhões de parâmetros para gerar respostas. Com a técnica RAG, podemos obter respostas que vão além dos dados que foram usados no seu treinamento, sem a necessidade de treinar o modelo novamente. Treinar novamente um LLM como o Llama 3 requer um grande investimento em tempo e poder computacional. A técnica RAG reduz drasticamente esse custo com o auxílio de busca semântica.
Em um sistema RAG, a busca inicial identifica os documentos ou trechos mais relevantes, e então, um modelo de linguagem, como o Llama 3, é utilizado para processar e gerar uma resposta final, considerando o contexto e a semântica do conteúdo encontrado. Essa abordagem permite respostas mais precisas e contextualizadas.
A busca semântica é uma técnica avançada que vai além das simples buscas por palavras-chave, visando compreender o significado e o contexto das palavras em uma consulta. Enquanto buscas tradicionais retornam resultados baseados na correspondência exata de palavras, a busca semântica analisa o contexto e a intenção por trás da consulta para fornecer resultados mais relevantes e precisos.
No nosso projeto, a busca semântica é utilizada para localizar informações específicas dentro dos documentos armazenados. Por exemplo, se um usuário precisa de informações sobre um determinado caso jurídico, a busca semântica é capaz de entender a consulta em profundidade e encontrar trechos de documentos que contenham informações contextualmente relevantes, mesmo que as palavras exatas não sejam usadas.
Para que a busca semântica funcione de maneira eficaz, é necessário primeiro transformar o conteúdo dos documentos PDF em uma forma que possa ser facilmente analisada e comparada. Esse processo envolve a conversão do texto dos PDFs em vetores multidimensionais.
Computadores usam linguagem de máquina, que é numérica. Por isso, o texto é transformado em vetores multidimensionais – conjuntos de números que representam as palavras e seu contexto.
Extração de Texto: O conteúdo dos PDFs é extraído e processado para remover qualquer formatação desnecessária, preservando apenas o texto relevante.
Representação Vetorial: O texto extraído é então convertido em vetores multidimensionais usando técnicas de aprendizado de máquina e processamento de linguagem natural (NLP). Cada vetor representa uma frase, parágrafo ou documento de forma que capture suas características semânticas, como significado e contexto.
Indexação e Armazenamento: Os vetores são indexados e armazenados em uma base de dados otimizada para busca semântica. Isso permite que, ao ser feita uma consulta, o sistema possa rapidamente comparar os vetores e identificar aqueles que são mais relevantes para a pergunta feita.
Limpeza dos dados: Desenvolver um algoritmo capaz de fazer a limpeza dos dados enviados pelos usuários da ferramenta, garantindo, assim, que não seja desperdiçado poder computacional com dados não relevantes e garantindo melhores respostas do LLM.
Complexidade Semântica: Compreender o contexto e o significado das perguntas e dos textos nos PDFs pode ser complexo, exigindo algoritmos avançados de PLN.
Infraestrutura: Necessidade de servidores potentes e capacidade de armazenamento para lidar com o processamento intensivo de dados.
Aceleradores de Hardware: Utilização de GPUs para acelerar a inferência dos modelos de IA.
Especialistas em IA: Profissionais com experiência em PLN e aprendizado de máquina.
Desenvolvedores de Software: Programadores capazes de integrar e otimizar o sistema, garantindo sua funcionalidade e eficiência.