Inteligência Artificial
Aumentando a precisão das respostas de modelos de IA com arquitetura RAG
3 minutos de leitura
A arquitetura RAG é uma alternativa bastante usada atualmente para personalização de modelos de inteligência artificial. Com essa abordagem, é possível desenvolver um chat exclusivo para a sua empresa, adicionando informações específicas do seu negócio ao conhecimento de um Large Language Model (LLM) como o GPT, por exemplo.
Essa é uma alternativa ao fine-tuning (ajuste-fino), outra forma de personalizar uma IA. Confira a seguir as principais características e possibilidades da arquitetura RAG!
✍️ O artigo foi escrito em parceria com o cwiser e cientista de dados Wesllei Heckler.
Enriquecimento de contexto
RAG é a sigla para Retrieval-Augmented Generation. Essa arquitetura permite a ampliação do contexto em que uma inteligência artificial vai buscar uma resposta a uma consulta.
Aplicações de IA como ChatGPT e Gemini são baseadas em Large Language Models (LLMs). Esses modelos, em geral, são treinados com uma quantidade massiva de informações que são públicas na web.
Usando a arquitetura RAG, podemos adicionar referências de variados formatos à base de dados consultada pelo modelo. Dessa forma, a IA terá um contexto mais rico, podendo trazer informações da web e também dos documentos fornecidos – como relatórios, listas de contatos, planilhas, códigos…
Essa técnica é especialmente indicada para cenários que demandam dados ou conhecimentos específicos, tais como chatbots de suporte, sistemas de perguntas e respostas (Q&A) e situações que demandam informações em tempo real. Desta forma, o modelo de IA pode responder perguntas sobre temas não abordados nos dados utilizados para o seu treinamento, aumentando a precisão das respostas nesses cenários.
Uso prático da arquitetura RAG
Um exemplo que temos aqui é o chat com inteligência artificial para uso de colaboradores da CWI. A aplicação permite criar diferentes ambientes (workspaces) e, em cada um, fazer upload de documentos em .pdf, .txt, .docx e .csv, assim como de projetos de software.
Com isso, temos um enriquecimento de contexto/prompt com base em dados de um cenário específico. Em geral, os documentos ficam disponíveis somente para o workspace no qual eles foram carregados, por questões de segurança. Porém, tecnicamente, é possível disponibilizar um documento para diferentes ambientes simultaneamente.
Um dos workspaces testados nesse chat é direcionado a dúvidas de cwisers em relação a assuntos de Marketing. Nele, incluímos um material com orientações para publicar artigos no Hub de Conteúdo, de modo que colaboradores pudessem conversar com a IA sobre o assunto e esclarecer suas questões.
A garantia de qualidade é o foco de outro workspace deste chat. Pessoas do nosso time podem subir projetos de software para o ambiente e, a partir disso, configurar para que a aplicação auxilie na geração de testes unitários para determinadas classes do código.
O chat possibilitou um crescimento de 45% na produtividade em atividades da área de qualidade (QA) e automação de testes e de 30% em tarefas de desenvolvimento e programação.
Características da arquitetura RAG
Um dos benefícios do RAG é o fato de exigir menos robustez computacional do que, por exemplo, a técnica de fine-tuning. Com essa abordagem, é possível personalizar uma IA para o contexto da sua empresa sem necessidade de grande investimento de tempo e em servidores.
Outra característica dessa arquitetura é a base em vetores, que são dados transformados em representações numéricas (embeddings). Todas as informações são particionadas em tamanhos variáveis, dependendo do cenário, e armazenadas em um banco de dados vetorial, como o VectorDB.
As perguntas submetidas a um chat com arquitetura RAG também são transformadas em vetores por um algoritmo e essa representação numérica é comparada com as demais do banco de dados. A aplicação faz uma busca por similaridade e retorna com as representações mais próximas da questão enviada pelo usuário, normalmente de forma bastante precisa.
Ainda cabe destacar um ponto que, por vezes, gera receio: que a IA utilizada na aplicação “aprenda” as informações da empresa e utilize em respostas fora do contexto da sua aplicação. No entanto, o modelo de inteligência artificial não vai aprender. Caso seja questionado sobre alguma informação dos documentos em um ambiente que não os contém, não conseguirá responder corretamente.
Quando não usar
Toda técnica relacionada à personalização de inteligência artificial tem suas peculiaridades e casos de uso mais indicados. A arquitetura RAG não é recomendada, por exemplo, em situações em que há muitas regras que devem ser consideradas, como ensinar uma nova linguagem ao modelo (seja de programação ou um idioma).
Em síntese, a técnica não é indicada para introdução de capacidades que o modelo de inteligência artificial não possua anteriormente, mas é excelente para responder sobre documentos e bases de dados fornecidos na aplicação.
Case: IA para evitar contratempos com base em resumos
Um sistema desenvolvido pela CWI para um grupo do ramo imobiliário, por exemplo, aplica a arquitetura RAG. O software utiliza inteligência artificial para resumir documentos, mas não é a síntese em si que realmente gera valor para o nosso cliente.
A partir dos resumos, o grupo pode antecipar movimentações impactantes e agir evitando que certos contratempos ocorram. Ou seja, uma aplicação desenvolvida com IA e arquitetura RAG impacta direta e positivamente nos resultados financeiros da empresa.
Conte com a CWI para utilizar essa arquitetura em projetos de personalização de IA para a sua empresa. Conheça outros cases e entre em contato conosco!