RAG (Retrieval-Augmented Generation) é uma técnica de inteligência artificial que combina a pesquisa de informação relevante numa base de dados com a capacidade de geração de texto de um modelo de linguagem. Em termos práticos, RAG permite que uma IA responda a perguntas com base nos documentos, dados e conhecimento específico da empresa, em vez de depender apenas do que o modelo aprendeu durante o treino.
Os modelos de linguagem como o GPT-4 são poderosos, mas têm uma limitação fundamental: só sabem o que estava nos dados de treino. Não conhecem os procedimentos internos da sua empresa, os contratos dos seus clientes ou as especificações dos seus produtos. RAG resolve este problema ao dar à IA acesso controlado à informação da empresa no momento da resposta.
O que é RAG
RAG funciona em duas fases sequenciais:
- Retrieval (Pesquisa): quando o utilizador faz uma pergunta, o sistema pesquisa na base de conhecimento da empresa os documentos mais relevantes para aquela pergunta.
- Augmented Generation (Geração Aumentada): os documentos relevantes são fornecidos ao modelo de linguagem como contexto, e o modelo gera uma resposta baseada nessa informação.
O resultado é uma resposta que combina a fluência natural do modelo de linguagem com a precisão factual dos dados da empresa.
Porque é que RAG é importante para empresas
| Sem RAG | Com RAG |
|---|---|
| A IA responde com conhecimento genérico | A IA responde com dados específicos da empresa |
| Pode inventar informação (alucinações) | Respostas fundamentadas em documentos reais |
| Não conhece procedimentos internos | Acede a políticas, manuais e procedimentos |
| Dados desactualizados (data de treino) | Dados actualizados em tempo real |
| Sem rastreabilidade das fontes | Cada resposta cita a fonte documental |
Como funciona passo a passo
- Ingestão de documentos. Os documentos da empresa (PDFs, Word, wikis, emails, bases de dados) são processados e divididos em segmentos (chunks).
- Criação de embeddings. Cada segmento é convertido numa representação numérica (vector embedding) que captura o significado semântico do conteúdo.
- Armazenamento vectorial. Os embeddings são armazenados numa base de dados vectorial optimizada para pesquisa por similaridade.
- Pergunta do utilizador. A pergunta é convertida num embedding e comparada com os embeddings da base.
- Pesquisa semântica. Os segmentos mais relevantes (tipicamente 3 a 10) são recuperados.
- Geração da resposta. O modelo de linguagem recebe a pergunta e os segmentos relevantes como contexto, e gera a resposta.
A pesquisa é semântica e não por palavras-chave. Isto significa que a pergunta "qual é o prazo de pagamento para clientes novos?" encontra informação relevante mesmo que o documento original use termos como "condições de pagamento para novas contas" ou "termos de crédito para primeiras encomendas".
Aplicações empresariais
- Chatbot de apoio ao cliente que responde com base nos manuais de produto, FAQs e condições comerciais (ver artigo sobre chatbots).
- Assistente interno para colaboradores consultarem procedimentos, políticas de RH e regulamentos.
- Pesquisa em documentação técnica que permite encontrar informação específica em milhares de páginas de manuais.
- Análise de contratos para identificar cláusulas específicas, datas de renovação e condições.
- Suporte à equipa comercial com acesso rápido a fichas de produto, casos de estudo e propostas anteriores.
RAG vs fine-tuning: qual a diferença
| Critério | RAG | Fine-tuning |
|---|---|---|
| O que muda | Contexto fornecido ao modelo | O próprio modelo é re-treinado |
| Actualização de dados | Imediata (adicionar documentos) | Requer novo treino (horas/dias) |
| Custo | Baixo a médio | Alto (computação GPU) |
| Rastreabilidade | Fontes citáveis | Sem rastreabilidade de fontes |
| Risco de alucinações | Baixo (limitado pelo contexto) | Médio (modelo pode generalizar) |
| Caso ideal | Perguntas sobre documentos e dados | Alterar o estilo/comportamento do modelo |
Para a maioria das aplicações empresariais, RAG é a abordagem recomendada. O fine-tuning é reservado para casos em que se pretende alterar fundamentalmente o comportamento do modelo (ex: adaptar a uma linguagem técnica muito específica).
Como implementar RAG na sua empresa
- Compilar a base de conhecimento. Reunir os documentos que o sistema deve consultar. Não é necessário ter tudo desde o início. Começar com 50 a 100 documentos relevantes.
- Escolher a infraestrutura. Serviços como o Azure AI Search combinam pesquisa vectorial com pesquisa textual para melhores resultados.
- Definir o caso de uso. Começar com um caso específico (ex: FAQ de produto) antes de expandir.
- Testar com utilizadores reais. Medir a precisão das respostas e iterar na preparação dos documentos.
- Expandir progressivamente. Adicionar mais documentos, mais integrações e mais casos de uso.
Na Engibots, ajudamos empresas a implementar sistemas RAG que permitem utilizar IA com base nos seus dados e documentos específicos, com rastreabilidade e controlo sobre a informação acessível.