Examen Final: Sistemas RAG Completo
Evaluación integral que cubre los 10 módulos. 50 preguntas para poner a prueba su dominio de los conceptos e implementación de RAG.
Instrucciones
- Responda las 50 preguntas
- Cada pregunta vale 2 puntos
- Puntaje de aprobación: 70% (70 puntos)
- Tiempo sugerido: 60-90 minutos
Parte 1: Fundamentos (P1-10)
P1: ¿Qué significa RAG y cuál es su propósito principal?
Respuesta: Retrieval-Augmented Generation. Mejora los LLM proporcionando documentos recuperados relevantes como contexto para respuestas más precisas y fundamentadas.
P2: Nombre las tres fases principales de un pipeline RAG.
Respuesta: 1) Indexación (offline), 2) Recuperación (online), 3) Generación (online).
P3: ¿Cuáles son los cuatro principales problemas que RAG resuelve para los LLM?
Respuesta: 1) Alucinaciones, 2) Knowledge cutoff, 3) Sin acceso a datos privados, 4) Límites de tokens/contexto.
P4: Explique la diferencia entre RAG y fine-tuning.
Respuesta: RAG agrega conocimiento mediante recuperación (dinámico, se puede actualizar); el fine-tuning cambia el comportamiento del modelo (estático, requiere reentrenamiento).
P5: ¿Cuál es el tamaño típico de chunk y el solapamiento en sistemas RAG?
Respuesta: Tamaño de chunk: 500-1500 caracteres; Solapamiento: 10-20% del tamaño del chunk (por ejemplo, 200 caracteres para chunks de 1000 caracteres).
P6: ¿Qué son los embeddings y por qué son importantes para RAG?
Respuesta: Representaciones vectoriales densas de texto que capturan significado semántico. Permiten la búsqueda por similitud para encontrar documentos relevantes.
P7: ¿Qué es la similitud coseno y cuál es su rango?
Respuesta: Una métrica que mide el ángulo entre vectores; el rango es de -1 a 1 (1 = dirección idéntica, 0 = ortogonal).
P8: Nombre tres bases de datos vectoriales populares.
Respuesta: Cualquiera de estas tres: Pinecone, Weaviate, Chroma, Qdrant, Milvus, pgvector, FAISS.
P9: ¿Qué es HNSW y por qué se usa comúnmente?
Respuesta: Hierarchical Navigable Small World - un algoritmo basado en grafos para búsqueda rápida de vecinos más cercanos aproximados con buena calidad.
P10: ¿Qué es un retriever en LangChain?
Respuesta: Un componente que toma una consulta y devuelve documentos relevantes desde un vector store.
Parte 2: Procesamiento de Documentos (P11-18)
P11: Nombre tres tipos de document loaders en LangChain.
Respuesta: Cualquiera de estos tres: PyPDFLoader, TextLoader, CSVLoader, WebBaseLoader, UnstructuredPDFLoader, Docx2txtLoader.
P12: ¿Qué es RecursiveCharacterTextSplitter y cómo funciona?
Respuesta: Un divisor de texto que intenta dividir por párrafo, luego oración, luego palabra, luego carácter, siguiendo una jerarquía de separadores.
P13: ¿Por qué es importante el solapamiento de chunks?
Respuesta: Evita que la información se corte en los límites de los chunks y preserva el contexto entre ellos.
P14: ¿Cómo deben manejarse las tablas en los documentos?
Respuesta: Mantener las tablas como chunks únicos para preservar la estructura; usar extractores especializados como Camelot para PDFs.
P15: ¿Qué es OCR y cuándo se necesita?
Respuesta: Reconocimiento Óptico de Caracteres - necesario para PDFs escaneados e imágenes donde el texto no es legible por máquina.
P16: ¿Qué metadatos deben preservarse durante el procesamiento de documentos?
Respuesta: Archivo fuente, número de página, índice de chunk, fecha, autor, tipo de documento y cualquier atributo específico del dominio.
P17: ¿Qué es el chunking semántico?
Respuesta: Dividir el texto en base a similitud semántica en lugar de conteos fijos de caracteres.
P18: ¿Cómo se manejan archivos CSV muy grandes?
Respuesta: Procesar en lotes usando pandas chunksize u otros enfoques de streaming similares.
Parte 3: Embeddings (P19-25)
P19: ¿Qué determina la calidad de los embeddings?
Respuesta: Arquitectura del modelo, datos de entrenamiento y número de dimensiones. Utilice benchmarks MTEB para comparar.
P20: Nombre dos modelos de embeddings comerciales y dos de código abierto.
Respuesta: Comerciales: OpenAI text-embedding-3, Cohere embed-v3. Código abierto: BGE, E5, Sentence Transformers.
P21: ¿Qué es MTEB?
Respuesta: Massive Text Embedding Benchmark - el benchmark estándar para comparar la calidad de modelos de embeddings.
P22: ¿Cuándo debería considerar el autoalojamiento de embeddings?
Respuesta: Volumen alto (>10M docs), requisitos de privacidad de datos, requisitos de latencia (<20ms), o para optimización de costos.
P23: ¿Qué sucede si usa diferentes modelos de embeddings para indexar y consultar?
Respuesta: La recuperación falla o tiene un rendimiento muy pobre; los vectores deben provenir del mismo modelo para ser comparables.
P24: ¿Cuál es la compensación al aumentar las dimensiones de los embeddings?
Respuesta: Mejor calidad pero mayor almacenamiento y búsqueda más lenta.
P25: ¿Cómo funciona la reducción de dimensiones en text-embedding-3-large?
Respuesta: El parámetro dimensions trunca el vector mientras mantiene la calidad mediante optimización en el entrenamiento.
Parte 4: Recuperación (P26-32)
P26: ¿Qué es la búsqueda híbrida?
Respuesta: Combina búsqueda por palabras clave (BM25) con búsqueda semántica vectorial para mejores resultados.
P27: ¿Qué es MMR y cuándo debería usarse?
Respuesta: Maximum Marginal Relevance - equilibra relevancia con diversidad. Úselo cuando desee resultados variados.
P28: ¿Qué es el reranking?
Respuesta: Recalificar los resultados iniciales de recuperación con un modelo más potente (cross-encoder) para mayor precisión.
P29: ¿Qué es Reciprocal Rank Fusion?
Respuesta: Un método para combinar rankings de múltiples retrievers en un ranking final único.
P30: ¿Qué es el filtrado pre-retrieval vs post-retrieval?
Respuesta: Pre-retrieval: filtrar antes de la búsqueda (más eficiente). Post-retrieval: filtrar resultados después de la búsqueda.
P31: ¿Qué es HyDE?
Respuesta: Hypothetical Document Embeddings - genera una respuesta hipotética, la embebe y la usa para la recuperación.
P32: ¿Qué es la recuperación self-query?
Respuesta: Usar un LLM para extraer tanto la consulta semántica como los filtros de metadatos desde una entrada en lenguaje natural.
Parte 5: Frameworks y Evaluación (P33-40)
P33: ¿Qué es LCEL en LangChain?
Respuesta: LangChain Expression Language - una forma componible de construir chains usando el operador pipe (|).
P34: ¿Cuál es la diferencia entre LangChain y LlamaIndex?
Respuesta: LangChain: construcción de chains de propósito general. LlamaIndex: enfocado en indexación y consulta de datos.
P35: ¿Qué hace el tipo de chain "stuff"?
Respuesta: Coloca todos los documentos recuperados en un solo prompt; es mejor para contextos pequeños.
P36: ¿Qué es RAGAS?
Respuesta: Retrieval Augmented Generation Assessment - framework para evaluación automatizada de RAG.
P37: Nombre cuatro métricas de RAGAS.
Respuesta: Faithfulness, answer_relevancy, context_precision, context_recall.
P38: ¿Qué mide faithfulness?
Respuesta: Si la respuesta generada está fundamentada en (respaldada por) el contexto recuperado.
P39: ¿Para qué se utiliza LangSmith?
Respuesta: Trazabilidad, depuración y monitoreo de aplicaciones LangChain.
P40: ¿Cómo se depura "documentos incorrectos recuperados"?
Respuesta: Imprimir los documentos recuperados, revisar el tamaño de chunk, verificar el modelo de embeddings, probar con consultas conocidas.
Parte 6: Producción (P41-50)
P41: ¿Qué es el caching semántico?
Respuesta: Almacenar en caché resultados para consultas semánticamente similares (no solo coincidencias exactas).
P42: ¿Qué es multi-tenancy en RAG?
Respuesta: Servir a múltiples organizaciones desde un solo sistema con aislamiento de datos.
P43: Nombre dos enfoques para el aislamiento de tenants.
Respuesta: 1) Aislamiento por namespace, 2) Filtrado por metadatos con tenant_id.
P44: ¿Qué debe rastrearse para facturación en SaaS RAG?
Respuesta: Consultas, tokens usados, documentos indexados, almacenamiento utilizado.
P45: ¿Qué es prompt injection?
Respuesta: Entrada maliciosa diseñada para manipular el comportamiento del LLM.
P46: ¿Cómo se previene el prompt injection?
Respuesta: Validación de entrada, sanitización y diseño seguro de prompts.
P47: ¿Qué debe auditarse en producción RAG?
Respuesta: ID de usuario, consulta, documentos accedidos, marca de tiempo, metadatos de la respuesta.
P48: ¿A qué escala debe considerarse el sharding?
Respuesta: Alrededor de 1M+ documentos típicamente requiere sharding.
P49: ¿Qué es el indexing basado en colas?
Respuesta: Agregar documentos a una cola para procesamiento asíncrono en segundo plano.
P50: ¿Cuál es el principal factor en la calidad de respuesta de RAG?
Respuesta: Calidad de la recuperación: si recupera los documentos correctos, el LLM puede generar buenas respuestas.
Puntuación
| Puntaje | Nota | Evaluación |
|---|---|---|
| 90-100 | A | Excelente - Experto en RAG |
| 80-89 | B | Bueno - Entendimiento sólido |
| 70-79 | C | Aprobado - Revise áreas débiles |
| 60-69 | D | Debajo del aprobado - Se requiere más estudio |
| <60 | F | Se requiere revisión significativa |
🎉 ¡Felicidades!
Si ha completado este examen y el curso, ahora posee un conocimiento integral de los sistemas RAG. ¡Continúe construyendo y experimentando!