Pular para o conteúdo principal

Quiz: Construindo Pipelines RAG

Teste seus conhecimentos sobre LangChain, LlamaIndex e construção de pipelines RAG.

30 questões - Clique em cada pergunta para revelar a resposta correta.


Questão 1-10: LangChain​

Pergunta 1: O que é LCEL no LangChain?

Resposta: LangChain Expression Language - uma forma composável e declarativa de construir chains usando o operador pipe (|).

Pergunta 2: O que o tipo de chain "stuff" faz?

Resposta: Coloca todos os documentos recuperados em um único prompt - melhor para contextos pequenos que cabem na janela de contexto do LLM.

Pergunta 3: Quando você deve usar o tipo de chain map_reduce?

Resposta: Ao lidar com grandes volumes de dados que não cabem em um único prompt - processa os documentos separadamente e depois combina os resultados.

Pergunta 4: Para que serve o ConversationBufferMemory?

Resposta: Para manter o histórico da conversa em aplicações RAG no estilo chatbot.

Pergunta 5: O que o RunnablePassthrough faz no LCEL?

Resposta: Passa a entrada sem alterações - útil para incluir a consulta original em composições de chains.

Pergunta 6: Como você cria um retriever a partir de um vector store no LangChain?

Resposta: Usando o método vectorstore.as_retriever().

Pergunta 7: Qual é o propósito do ChatPromptTemplate?

Resposta: Criar templates de prompt reutilizáveis com variáveis para conteúdo dinâmico.

Pergunta 8: O que o StrOutputParser faz?

Resposta: Faz o parsing da saída do LLM para extrair apenas o conteúdo em string da resposta.

Pergunta 9: Para que o tipo de chain "refine" é mais indicado?

Resposta: Consultas complexas onde refinar iterativamente a resposta com cada documento melhora a qualidade.

Pergunta 10: Como adicionar streaming a uma chain do LangChain?

Resposta: Use chain.stream() em vez de chain.invoke() para obter um iterador de partes da resposta.


Questão 11-20: LlamaIndex​

Pergunta 11: Como o LlamaIndex era chamado anteriormente?

Resposta: GPT Index

Pergunta 12: Qual é o principal tipo de índice no LlamaIndex?

Resposta: VectorStoreIndex - armazena documentos com seus embeddings para busca por similaridade.

Pergunta 13: Como criar um query engine a partir de um índice?

Resposta: Usando o método index.as_query_engine().

Pergunta 14: O que é um chat engine no LlamaIndex?

Resposta: Um query engine com memória de conversação embutida para interações de múltiplas rodadas.

Pergunta 15: O que o modo de resposta "compact" faz?

Resposta: Coloca todo o contexto em um único prompt - é o modo padrão e mais eficiente.

Pergunta 16: O que é o modo de resposta tree_summarize?

Resposta: Resume documentos de forma hierárquica, útil para conjuntos de resultados muito grandes.

Pergunta 17: O que é o SimpleDirectoryReader?

Resposta: Uma utilidade para carregar todos os documentos de um diretório com detecção automática do tipo de arquivo.

Pergunta 18: O que o parâmetro similarity_top_k controla?

Resposta: O número de documentos similares a serem recuperados para cada consulta.

Pergunta 19: Para que serve o SummaryIndex?

Resposta: Criar resumos sobre documentos em vez de busca por similaridade.

Pergunta 20: Em que o LlamaIndex difere do LangChain em foco?

Resposta: LlamaIndex foca em indexação e consulta de dados, enquanto LangChain é mais generalista para construção de chains.


Questão 21-30: RAG Geral & Customizado​

Pergunta 21: Quando você deve construir um RAG customizado em vez de usar frameworks?

Resposta: Quando precisa de controle detalhado, dependências mínimas ou requisitos específicos de performance.

Pergunta 22: Quais são as três etapas principais em qualquer sistema RAG?

Resposta: 1) Gerar embedding da consulta, 2) Recuperar documentos relevantes, 3) Gerar resposta com contexto.

Pergunta 23: Por que um RAG customizado pode ser mais rápido que frameworks?

Resposta: Menos overhead, sem camadas de abstração, otimizado para o caso de uso específico.

Pergunta 24: Qual é a principal desvantagem do RAG customizado?

Resposta: Mais trabalho de desenvolvimento e manutenção - você constrói tudo do zero.

Pergunta 25: Como adicionar cache a um RAG customizado?

Resposta: Usando técnicas como @lru_cache para cache de embeddings ou Redis para cache de resultados.

Pergunta 26: Para que o streaming é útil em RAG?

Resposta: Fornecer saída de resposta em tempo real para os usuários sem esperar a geração completa.

Pergunta 27: Qual framework é melhor para prototipagem rápida?

Resposta: LlamaIndex para perguntas e respostas simples sobre documentos, LangChain para pipelines mais complexos.

Pergunta 28: Qual é o mínimo necessário para um sistema RAG básico?

Resposta: Modelo de embeddings, vector store, LLM e código para conectá-los.

Pergunta 29: Como lidar com erros em RAG em produção?

Resposta: Blocos try-catch, respostas de fallback, logging e monitoramento.

Pergunta 30: O que mais determina a qualidade da resposta do RAG?

Resposta: Qualidade da recuperação - se você recupera os documentos certos, o LLM pode gerar boas respostas.


Resultados​

PontuaçãoNível
27-30Excelente - Forte entendimento dos frameworks RAG
21-26Bom - Recomendada revisão de alguns tópicos
15-20Médio - Revise os capítulos novamente
Abaixo de 15Precisa de revisão abrangente

Voltar ao Módulo 6 | Continuar para o Módulo 7