Módulo 9, Retrieval-Augmented Generation

Um LLM sozinho tem dois problemas para um assistente educacional: ele só sabe o que viu no treino, e às vezes inventa. O RAG resolve os dois dando ao modelo uma memória externa de documentos. Antes de responder, o sistema busca os trechos relevantes do material e os entrega ao modelo, que então responde com base neles, com menos alucinação e com conhecimento atualizado e específico. Este é o primeiro módulo com um projeto de assistente completo.

A trilha monta o assistente peça por peça. Começamos com o pipeline de RAG mínimo, depois melhoramos os embeddings e o chunking, em seguida guardamos os vetores em um banco vetorial, montamos a busca e o contexto com citação das fontes, e por fim olhamos para a produção com o Qdrant. Cada aula constrói uma peça do zero, em Python puro, e mostra a ferramenta de verdade como caminho opcional. No fim, tudo se junta no projeto, um assistente educacional que responde citando o material.

As cinco aulas

Aula Tema O que você faz na prática
1 Pipeline de RAG Monta um RAG mínimo de ponta a ponta
2 Embeddings e vetores Faz chunking e compara embeddings
3 ChromaDB na prática Constrói um banco vetorial do zero
4 Busca semântica e contexto Monta o contexto com citação e trata a ausência
5 Qdrant para produção Filtra por metadados e escala (projeto do módulo)

As quatro primeiras aulas constroem as peças do RAG, e a quinta olha para a produção e abriga o assistente completo.

O que você leva deste módulo

Ao terminar, você sabe construir um sistema de RAG de ponta a ponta, entende o papel dos embeddings, do banco vetorial, da montagem de contexto e do tratamento da ausência, e tem um assistente educacional funcional no portfólio. Esse conhecimento é a base do Módulo 14, e a busca de conhecimento é uma das ferramentas centrais dos agentes do Módulo 10.

Projeto do módulo

O projeto integrador está na pasta projects/m09-rag-assistant/, um assistente educacional que indexa notas de aula com metadados, recupera trechos relevantes, responde citando as fontes, recusa de forma honesta o que não está no material e filtra a busca por disciplina. Ele roda do zero, sem dependências, e tem testes.

Pré-requisitos

Os Módulos 4 (embeddings), 7 (LLMs) e 8 (prompting) são a base direta. Os exemplos principais e o projeto rodam só com a biblioteca padrão do Python. As versões com embeddings densos, ChromaDB, Qdrant e geração com LLM usam bibliotecas e o Ollama, conforme o docs/setup.md, e degradam de forma graciosa quando ausentes.

Material de apoio