Se você trabalha com produtos digitais e quer colocar a mão na massa em IA Generativa, uma ótima porta de entrada é criar um chatbot RAG.
Recentemente, construí um do zero, sem escrever uma linha de código, em cerca de 45 minutos. Neste artigo, compartilho o passo a passo, conceitos-chave e lições aprendidas.
O que é RAG?
Antes de tudo, o que significa RAG?
RAG vem de Retrieval-Augmented Generation, um padrão arquitetural que combina duas etapas principais:
Retrieval (Recuperação): Buscar informações relevantes em uma base de dados.
Generation (Geração): Usar um modelo de linguagem (LLM) para construir uma resposta final, com base nas informações recuperadas.
O objetivo? Reduzir alucinações e gerar respostas mais precisas e contextuais.
Etapa 1: Gerar Embeddings
O primeiro passo foi transformar meus documentos em um formato que o sistema pudesse entender.
Por que isso é necessário?
Um LLM não entende PDFs, planilhas ou textos de forma direta. Ele trabalha melhor quando os dados estão em formato vetorial.
Como fiz:
Fonte dos documentos: Usei o Google Drive para armazenar os arquivos base.
Quebra em blocos (chunking):
Dividi os documentos em pequenos pedaços de texto (normalmente entre 500 e 1000 caracteres).Conversão para embeddings:
Usei o modelotext-embedding-3-small
da OpenAI para transformar cada bloco em um vetor multidimensional.Armazenamento:
Gravei os vetores em um banco de dados vetorial: o Pinecone (que tem um plano gratuito para começar).
Etapa 2: Recuperação, Geração e UI
Com os embeddings prontos, veio a segunda parte: fazer o chatbot responder.
Como funciona o fluxo:
Pergunta do usuário:
O usuário faz uma pergunta pela interface do chatbot. No meu caso, usei o Lovable, uma plataforma no-code bem simples.Transformação da pergunta em vetor:
A pergunta também é convertida em um vetor.Busca no vector database:
Através do n8n (plataforma de automação), enviei a pergunta vetorizada para o Pinecone, que retornou os blocos de texto mais relevantes.Geração de resposta:
Enviei a pergunta original + os blocos recuperados para o GPT-4o-mini, da OpenAI.Resposta final:
O LLM gerou uma resposta contextualizada, baseada apenas nos documentos da minha base.
Esse fluxo é conhecido como Vanilla RAG – a forma mais simples de RAG, mas que já funciona muito bem.
Etapa 3: Avaliando a Qualidade (RAG Evaluation)
Um ponto que aprendi na prática: Não basta o chatbot responder… é preciso saber avaliar a qualidade da resposta.
Como medir?
RAG envolve três componentes:
Q: A pergunta
C: O contexto recuperado
A: A resposta
Jason Liu, especialista em IA, resumiu os 6 tipos essenciais de avaliação de RAG, cruzando esses três elementos:
Tipo de Avaliação | O que verifica |
---|---|
Context Relevance | O contexto recuperado responde a pergunta? |
Context Support Coverage | O contexto contém tudo o que a resposta afirma? |
Faithfulness / Groundedness | A resposta só usa informações que estão no contexto? |
Answer Relevance | A resposta atende de fato a pergunta? |
Question Answerability | O contexto permite construir uma boa resposta? |
Self-Containment | A resposta faz sentido sozinha, sem precisar ler o contexto? |
Ferramentas que usei (Stack):
UI: Lovable (gratuito)
Orquestração: n8n (trial ou self-hosted grátis)
LLM: GPT-4o-mini (baixo custo por requisição)
Embeddings: text-embedding-3-small
Vector Database: Pinecone (free tier)
Fonte dos documentos: Google Drive
Lições aprendidas como PM:
Fazer um RAG básico é rápido. Fazer um RAG bom exige atenção à qualidade de recuperação e geração.
As etapas de chunking, embeddings e avaliação são tão importantes quanto o LLM.
Ter uma boa interface de UI facilita testar rapidamente e demonstrar o valor para stakeholders.
Próximos passos:
Se você quiser evoluir o seu chatbot RAG, pode explorar:
Adaptive RAG: Onde o sistema adapta a estratégia de busca dependendo da pergunta.
Hybrid RAG: Mistura de busca semântica com busca por palavras-chave.
Avaliação contínua: Usando métricas automáticas para monitorar a performance do seu RAG ao longo do tempo.