Saltar al contenido principal

Quiz: Construcción de pipelines RAG

Ponga a prueba sus conocimientos sobre LangChain, LlamaIndex y la construcción de pipelines RAG.

30 preguntas - Haga clic en cada pregunta para revelar la respuesta correcta.


Pregunta 1-10: LangChain​

Pregunta 1: ¿Qué es LCEL en LangChain?

Respuesta: LangChain Expression Language - una forma componible y declarativa de construir cadenas usando el operador pipe (|).

Pregunta 2: ¿Qué hace el tipo de cadena "stuff"?

Respuesta: Coloca todos los documentos recuperados en un solo prompt - ideal para contextos pequeños que caben en la ventana de contexto del LLM.

Pregunta 3: ¿Cuándo debe usar el tipo de cadena map_reduce?

Respuesta: Cuando se trabaja con grandes conjuntos de datos que no caben en un solo prompt - procesa los documentos por separado y luego combina los resultados.

Pregunta 4: ¿Para qué se utiliza ConversationBufferMemory?

Respuesta: Para mantener el historial de la conversación en aplicaciones RAG tipo chatbot.

Pregunta 5: ¿Qué hace RunnablePassthrough en LCEL?

Respuesta: Pasa la entrada sin cambios - útil para incluir la consulta original en composiciones de cadenas.

Pregunta 6: ¿Cómo se crea un retriever a partir de un vector store en LangChain?

Respuesta: Usando el método vectorstore.as_retriever().

Pregunta 7: ¿Cuál es el propósito de ChatPromptTemplate?

Respuesta: Crear plantillas de prompt reutilizables con variables para contenido dinámico.

Pregunta 8: ¿Qué hace StrOutputParser?

Respuesta: Analiza la salida del LLM para extraer solo el contenido de texto de la respuesta.

Pregunta 9: ¿Para qué es mejor el tipo de cadena "refine"?

Respuesta: Consultas complejas donde refinar iterativamente la respuesta con cada documento mejora la calidad.

Pregunta 10: ¿Cómo se agrega streaming a una cadena de LangChain?

Respuesta: Use chain.stream() en lugar de chain.invoke() para obtener un iterador de fragmentos de respuesta.


Pregunta 11-20: LlamaIndex​

Pregunta 11: ¿Cómo se llamaba antes LlamaIndex?

Respuesta: GPT Index

Pregunta 12: ¿Cuál es el tipo principal de índice en LlamaIndex?

Respuesta: VectorStoreIndex - almacena documentos con sus embeddings para búsqueda por similitud.

Pregunta 13: ¿Cómo se crea un motor de consulta a partir de un índice?

Respuesta: Usando el método index.as_query_engine().

Pregunta 14: ¿Qué es un chat engine en LlamaIndex?

Respuesta: Un motor de consulta con memoria de conversación incorporada para interacciones de varios turnos.

Pregunta 15: ¿Qué hace el modo de respuesta "compact"?

Respuesta: Coloca todo el contexto en un solo prompt - el modo predeterminado y más eficiente.

Pregunta 16: ¿Qué es el modo de respuesta tree_summarize?

Respuesta: Resume jerárquicamente los documentos, útil para conjuntos de resultados muy grandes.

Pregunta 17: ¿Qué es SimpleDirectoryReader?

Respuesta: Una utilidad para cargar todos los documentos de un directorio con detección automática de tipo de archivo.

Pregunta 18: ¿Qué controla el parámetro similarity_top_k?

Respuesta: La cantidad de documentos similares a recuperar para cada consulta.

Pregunta 19: ¿Para qué se utiliza SummaryIndex?

Respuesta: Para crear resúmenes sobre documentos en lugar de búsqueda por similitud.

Pregunta 20: ¿En qué se diferencia LlamaIndex de LangChain en cuanto a enfoque?

Respuesta: LlamaIndex se centra en la indexación y consulta de datos, mientras que LangChain es más general para construir cadenas.


Pregunta 21-30: General y RAG personalizado​

Pregunta 21: ¿Cuándo debería construir un RAG personalizado en lugar de usar frameworks?

Respuesta: Cuando necesita control detallado, dependencias mínimas o tiene requisitos de rendimiento específicos.

Pregunta 22: ¿Cuáles son los tres pasos principales en cualquier sistema RAG?

Respuesta: 1) Embedir la consulta, 2) Recuperar documentos relevantes, 3) Generar la respuesta con contexto.

Pregunta 23: ¿Por qué un RAG personalizado podría ser más rápido que los frameworks?

Respuesta: Menos sobrecarga, sin capas de abstracción, optimizado para el caso de uso específico.

Pregunta 24: ¿Cuál es la principal desventaja de un RAG personalizado?

Respuesta: Más trabajo de desarrollo y mantenimiento - usted construye todo por su cuenta.

Pregunta 25: ¿Cómo se agrega caché a un RAG personalizado?

Respuesta: Use técnicas como @lru_cache para caché de embeddings o Redis para caché de resultados.

Pregunta 26: ¿Para qué es útil el streaming en RAG?

Respuesta: Proporcionar salida de respuesta en tiempo real a los usuarios sin esperar la generación completa.

Pregunta 27: ¿Qué framework es mejor para prototipado rápido?

Respuesta: LlamaIndex para preguntas y respuestas simples sobre documentos, LangChain para pipelines más complejos.

Pregunta 28: ¿Qué es lo mínimo necesario para un sistema RAG básico?

Respuesta: Modelo de embeddings, vector store, LLM y código para conectarlos.

Pregunta 29: ¿Cómo se manejan los errores en RAG en producción?

Respuesta: Bloques try-catch, respuestas de respaldo, registro y monitoreo.

Pregunta 30: ¿Qué determina más la calidad de la respuesta en RAG?

Respuesta: La calidad de la recuperación - si recupera los documentos correctos, el LLM puede generar buenas respuestas.


Resultados​

PuntajeNivel
27-30Excelente - Fuerte comprensión de los frameworks RAG
21-26Bueno - Se recomienda repasar algunos temas
15-20Promedio - Revise los capítulos nuevamente
Menos de 15Requiere revisión exhaustiva

Volver al Módulo 6 | Continuar al Módulo 7