As LLMs, Large Language Models, estão sujeitas a sofrerem alucinações, ou seja, retornarem respostas imprecisas ou potencialmente enganosas para os usuários.
Um dos métodos que visam à mitigação das alucinações de IAs é o RAG (Retrieval Augmented Generation).
Esta técnica permite que, juntamente ao input do usuário, a LLM acesse uma base de conhecimentos que permita com que a resposta seja gerada com maior contexto e, consequentemente, maior precisão.
A imagem abaixo ilustra o fluxo de chamadas que implementa esta arquitetura:
Dado esta técnica de treinamento, a aplicamos ao modelo do Llama 2 7B Chat para reconhecer tentativas de fraudes em contexto de ligações de centro de atendimentos. Para isto, criamos um dataset com várias ligações, que, de início, são simuladas uma vez que dados de ligações reais são sensíveis e não expostas ao público.
Essas conversas são transformadas em embeddings por meio do ChromaDB, transformando dados textuais em vetores multidimensionais que são interpretáveis para a LLM, para uma melhor análise.
Juntamente a isto, o framework LangChain é utilizado para integrar todo o sistema e arquitetura proposta, permitindo a interação com o chatbot.
Para a interface do usuário, utilizou-se o Gradio, que permite a criação de interfaces simples em python para interações com chatbots e aplicações semelhantes.
Abaixo, podemos analisar uma conversa adicionada pelo usuário em uma caixa de texto e a resposta do modelo, contextualizada com base no dataset previamente definido:
Assim, podemos utilizar a técnica de RAG em diversas áreas de análise e processamento de dados e informações. Desta forma, pode-se otimizar o treinamento de modelos, que pode ser demorado e muito custoso computacionalmente.