Exame Final: Sistemas RAG Completo
Avaliação abrangente cobrindo todos os 10 módulos. 50 questões para testar seu domínio dos conceitos e implementação de RAG.
Instruções
- Responda todas as 50 questões
- Cada questão vale 2 pontos
- Nota mínima para aprovação: 70% (70 pontos)
- Tempo sugerido: 60-90 minutos
Parte 1: Fundamentos (Q1-10)
Q1: O que significa RAG e qual seu principal objetivo?
Resposta: Retrieval-Augmented Generation. Ele aprimora LLMs fornecendo documentos relevantes recuperados como contexto para respostas mais precisas e fundamentadas.
Q2: Quais são as três principais fases de um pipeline RAG?
Resposta: 1) Indexação (offline), 2) Recuperação (online), 3) Geração (online).
Q3: Quais são os quatro principais problemas que o RAG resolve para LLMs?
Resposta: 1) Alucinações, 2) Knowledge cutoff, 3) Sem acesso a dados privados, 4) Limites de token/contexto.
Q4: Explique a diferença entre RAG e fine-tuning.
Resposta: RAG adiciona conhecimento via recuperação (dinâmico, pode ser atualizado); fine-tuning altera o comportamento do modelo (estático, requer novo treinamento).
Q5: Qual é o tamanho típico de chunk e de overlap em sistemas RAG?
Resposta: Tamanho do chunk: 500-1500 caracteres; Overlap: 10-20% do tamanho do chunk (ex: 200 caracteres para chunks de 1000 caracteres).
Q6: O que são embeddings e por que são importantes para RAG?
Resposta: Representações densas em vetor de texto que capturam significado semântico. Permitem busca por similaridade para encontrar documentos relevantes.
Q7: O que é similaridade cosseno e qual seu intervalo?
Resposta: Uma métrica que mede o ângulo entre vetores; intervalo de -1 a 1 (1 = mesma direção, 0 = ortogonal).
Q8: Cite três bancos de dados vetoriais populares.
Resposta: Quaisquer três de: Pinecone, Weaviate, Chroma, Qdrant, Milvus, pgvector, FAISS.
Q9: O que é HNSW e por que é comumente usado?
Resposta: Hierarchical Navigable Small World - um algoritmo baseado em grafos para busca aproximada de vizinhos mais próximos com boa qualidade.
Q10: O que é um retriever no LangChain?
Resposta: Um componente que recebe uma consulta e retorna documentos relevantes de um vector store.
Parte 2: Processamento de Documentos (Q11-18)
Q11: Cite três tipos de carregadores de documentos no LangChain.
Resposta: Quaisquer três de: PyPDFLoader, TextLoader, CSVLoader, WebBaseLoader, UnstructuredPDFLoader, Docx2txtLoader.
Q12: O que é RecursiveCharacterTextSplitter e como funciona?
Resposta: Um divisor de texto que tenta dividir por parágrafo, depois por sentença, depois por palavra e, por fim, por caractere - seguindo uma hierarquia de separadores.
Q13: Por que o overlap entre chunks é importante?
Resposta: Evita que informações sejam cortadas nas bordas dos chunks e preserva o contexto entre eles.
Q14: Como tabelas em documentos devem ser tratadas?
Resposta: Manter tabelas como chunks únicos para preservar a estrutura; usar extratores especializados como Camelot para PDFs.
Q15: O que é OCR e quando é necessário?
Resposta: Optical Character Recognition - necessário para PDFs escaneados e imagens onde o texto não é legível por máquina.
Q16: Quais metadados devem ser preservados durante o processamento de documentos?
Resposta: Arquivo de origem, número da página, índice do chunk, data, autor, tipo de documento e quaisquer atributos específicos do domínio.
Q17: O que é chunking semântico?
Resposta: Dividir o texto com base em similaridade semântica em vez de contagem fixa de caracteres.
Q18: Como lidar com arquivos CSV muito grandes?
Resposta: Processar em lotes usando pandas chunksize ou abordagens de streaming similares.
Parte 3: Embeddings (Q19-25)
Q19: O que determina a qualidade de um embedding?
Resposta: Arquitetura do modelo, dados de treinamento e quantidade de dimensões. Use benchmarks MTEB para comparar.
Q20: Cite dois modelos de embedding comerciais e dois open-source.
Resposta: Comerciais: OpenAI text-embedding-3, Cohere embed-v3. Open source: BGE, E5, Sentence Transformers.
Q21: O que é MTEB?
Resposta: Massive Text Embedding Benchmark - o benchmark padrão para comparar qualidade de modelos de embedding.
Q22: Quando considerar hospedar embeddings por conta própria?
Resposta: Alto volume (>10M docs), requisitos de privacidade de dados, requisitos de latência (<20ms) ou otimização de custos.
Q23: O que acontece se você usar modelos de embedding diferentes para indexação e consulta?
Resposta: A recuperação falha ou tem desempenho muito ruim - os vetores precisam ser do mesmo modelo para serem comparáveis.
Q24: Qual o tradeoff de aumentar as dimensões do embedding?
Resposta: Melhor qualidade, mas mais armazenamento e busca mais lenta.
Q25: Como funciona a redução de dimensão em text-embedding-3-large?
Resposta: O parâmetro dimensions trunca o vetor mantendo a qualidade por meio de otimização no treinamento.
Parte 4: Recuperação (Q26-32)
Q26: O que é busca híbrida?
Resposta: Combina busca por palavra-chave (BM25) com busca semântica vetorial para melhores resultados.
Q27: O que é MMR e quando deve ser usado?
Resposta: Maximum Marginal Relevance - equilibra relevância com diversidade. Use quando quiser resultados variados.
Q28: O que é reranking?
Resposta: Reclassificação dos resultados iniciais de recuperação com um modelo mais poderoso (cross-encoder) para maior precisão.
Q29: O que é Reciprocal Rank Fusion?
Resposta: Um método para combinar rankings de múltiplos retrievers em um ranking final único.
Q30: O que é filtragem pré-recuperação vs pós-recuperação?
Resposta: Pré-recuperação: filtra antes da busca (mais eficiente). Pós-recuperação: filtra resultados após a busca.
Q31: O que é HyDE?
Resposta: Hypothetical Document Embeddings - gera uma resposta hipotética, faz embedding dela e usa para recuperação.
Q32: O que é self-query retrieval?
Resposta: Usar um LLM para extrair tanto a consulta semântica quanto filtros de metadados a partir de entrada em linguagem natural.
Parte 5: Frameworks & Avaliação (Q33-40)
Q33: O que é LCEL no LangChain?
Resposta: LangChain Expression Language - uma forma composável de construir chains usando o operador pipe (|).
Q34: Qual a diferença entre LangChain e LlamaIndex?
Resposta: LangChain: construção de chains de uso geral. LlamaIndex: focado em indexação e consulta de dados.
Q35: O que faz o tipo de chain "stuff"?
Resposta: Coloca todos os documentos recuperados em um único prompt - melhor para contextos pequenos.
Q36: O que é RAGAS?
Resposta: Retrieval Augmented Generation Assessment - framework para avaliação automatizada de RAG.
Q37: Cite quatro métricas do RAGAS.
Resposta: Faithfulness, answer_relevancy, context_precision, context_recall.
Q38: O que a métrica faithfulness mede?
Resposta: Se a resposta gerada está fundamentada (apoiada) no contexto recuperado.
Q39: Para que serve o LangSmith?
Resposta: Tracing, debugging e monitoramento de aplicações LangChain.
Q40: Como depurar "documentos errados recuperados"?
Resposta: Imprimir documentos recuperados, checar tamanho do chunk, verificar modelo de embedding, testar com consultas conhecidas.
Parte 6: Produção (Q41-50)
Q41: O que é cache semântico?
Resposta: Cache de resultados para consultas semanticamente similares (não apenas correspondências exatas).
Q42: O que é multi-tenancy em RAG?
Resposta: Atender múltiplas organizações em um único sistema com isolamento de dados.
Q43: Cite duas abordagens para isolamento de tenant.
Resposta: 1) Isolamento por namespace, 2) Filtragem por metadados com tenant_id.
Q44: O que deve ser rastreado para cobrança em RAG SaaS?
Resposta: Consultas, tokens usados, documentos indexados, armazenamento utilizado.
Q45: O que é prompt injection?
Resposta: Entrada maliciosa projetada para manipular o comportamento do LLM.
Q46: Como prevenir prompt injection?
Resposta: Validação de entrada, sanitização e design seguro de prompts.
Q47: O que deve ser registrado em auditoria em RAG de produção?
Resposta: ID do usuário, consulta, documentos acessados, timestamp, metadados da resposta.
Q48: Em qual escala considerar sharding?
Resposta: Tipicamente em torno de 1M+ documentos é necessário sharding.
Q49: O que é indexação baseada em fila?
Resposta: Adicionar documentos a uma fila para processamento assíncrono em background.
Q50: Qual o principal fator na qualidade da resposta do RAG?
Resposta: Qualidade da recuperação - se você recupera os documentos certos, o LLM pode gerar boas respostas.
Pontuação
| Pontuação | Nota | Avaliação |
|---|---|---|
| 90-100 | A | Excelente - Especialista em RAG |
| 80-89 | B | Bom - Entendimento sólido |
| 70-79 | C | Aprovado - Revise pontos fracos |
| 60-69 | D | Abaixo da aprovação - Precisa estudar mais |
| <60 | F | Revisão significativa necessária |
🎉 Parabéns!
Se você completou este exame e o curso, agora possui conhecimento abrangente sobre sistemas RAG. Continue construindo e experimentando!