🔍 RAG: Ensinando a IA a Conhecer Seus Documentos
📌 Pra que serve
RAG (Retrieval-Augmented Generation) resolve dois problemas reais: modelos de IA têm conhecimento limitado à data de treinamento e não conhecem seus documentos privados. Em vez de retreinar o modelo (caro e lento), RAG injeta o contexto relevante no prompt — o modelo vira um pesquisador que consulta sua base de dados antes de responder.Perfeito para: chatbots de suporte (HR, políticas internas), assistentes que citam fontes, buscadores que resumem e sistemas que precisam ficar sempre atualizados sem retreinamento.
🛠️ Passo a passo
1. Instale as dependências:
pip install langchain langchain-groq python-dotenv2. Prepare sua chave Groq (gratuita em groq.com):
from langchain.chat_models import init_chat_model
model = init_chat_model("groq:openai/gpt-oss-120b", temperature=0)3. Teste sem contexto (o modelo adivinhar):
question = "Quantos dias de férias pode carryover em 2026?"
reply = model.invoke(question)
print("Sem contexto:", reply.content)
Resposta: "Desculpe, não consigo responder."
4. Agora adicione o contexto (sua política interna, por exemplo):
policy = """
Política de Férias - Acme Corp (março 2026):
- 24 dias de férias remuneradas por ano
- Máximo 8 dias não utilizados passam pro próximo ano
- Férias acima de 5 dias precisam aprovação do gestor
"""prompt = f"Responda usando APENAS este contexto:\n\n{policy}\n\nPergunta: {question}"
reply = model.invoke(prompt)
print("Com contexto:", reply.content)
Resposta: "Um funcionário pode carregar até 8 dias não utilizados para o próximo ano."
5. Escalando: para milhares de documentos, use embeddings + vector store:
from langchain.embeddings import OpenAIEmbeddings
from langchain.vectorstores import FAISSSeus chunks de texto passam por um embedding model
e são armazenados em um vector database (FAISS, Pinecone, etc)
Retrieval enco
ntra chunks similares em millisegundos💡 Dica: O modelo não mudou. Você mudou o que entra no prompt. RAG não elimina alucinações completamente — se seu banco de dados não tem a resposta, o modelo vai inventar mesmo assim. Por isso, combine com verificadores e deixe o modelo dizer "não sei" quando apropriado.
🔗 Links e instalação
- Tutorial oficial: https://www.krishnaik.in/ai-tutorials/generative-and-agentic-ai/rag
- Groq (API gratuita): https://console.groq.com
- LangChain docs: https://python.langchain.com
- Próximo passo: carregar PDFs, chunking e embeddings com o curso completo acima