Evaluación de retrieval: ¿encuentra tu sistema RAG los documentos correctos?
Una buena respuesta puede surgir a pesar de una búsqueda deficiente, y una buena búsqueda puede llevar igualmente a una mala respuesta. La evaluación de retrieval separa claramente ambas cuestiones.
Dos preguntas separadas
En un sistema RAG pueden fallar muchas cosas: o bien la búsqueda no encuentra los documentos correctos (problema de retrieval), o bien el modelo usa mal los documentos encontrados (problema de generación). Quien evalúa solo la respuesta final mezcla ambas causas y al final no sabe dónde está el error real.
Precision y recall para retrieval
La precisión (precision) mide cuántos de los documentos encontrados eran realmente relevantes: una precisión alta significa poco ruido en el contexto. La exhaustividad (recall) mide cuántos de los documentos realmente relevantes se encontraron en total: un recall alto significa que no se pasó por alto nada importante. Ambos valores suelen tirar en direcciones opuestas: recuperar más documentos normalmente aumenta el recall, pero tiende a reducir la precisión.
Construir un conjunto de preguntas de prueba
Para una evaluación sólida necesitas preguntas de prueba con una respuesta correcta conocida y los documentos correspondientes que realmente contienen esa respuesta. Sin esta referencia, la precisión y el recall no se pueden calcular en absoluto, solo estimar.
Fuentes de error típicas
Un chunking demasiado grueso o demasiado fino desgarra o diluye pasajes relevantes. Un modelo de embeddings poco adecuado reconoce mal la similitud semántica. Y la falta de tratamiento de sinónimos hace que una pregunta formulada con palabras distintas a las del documento no obtenga resultados, aunque la respuesta esté realmente presente.
EJEMPLO
Pregunta de prueba: '¿Cuál es el plazo de reembolso según los términos y condiciones?' Documento de referencia: sección 4.2 de los términos y condiciones, contiene el plazo correcto. Resultado de retrieval (los 3 primeros resultados): [sección 4.2 ✓ relevante, sección 7.1 ✗ irrelevante, sección 4.2 (duplicado) ✓ relevante] → Precision = 2/3 (dos de tres resultados relevantes) → Recall = 1/1 (el único documento relevante fue encontrado) Si la sección 4.2 no apareciera en absoluto entre los 3 primeros resultados, el recall sería 0, independientemente de lo bien que el modelo maneje después los resultados incorrectos.
🛠️ EJERCICIO — PRUÉBALO TÚ
Construye un pequeño conjunto de preguntas de prueba para un sistema RAG propio (o ficticio) y calcula precision y recall a mano.
- Elige 10 preguntas sobre un conjunto de documentos que conozcas, y marca para cada pregunta el documento o documentos realmente relevantes.
- Haz que tu sistema RAG (o una búsqueda manual por palabras clave como sustituto) entregue los 3 primeros resultados para cada pregunta.
- Cuenta por pregunta cuántos de los 3 resultados eran relevantes (precision) y si el documento relevante estaba entre ellos (recall).
- Calcula el promedio de las 10 preguntas.
✅ AUTOEVALUACIÓN
- ☐ ¿Hubo preguntas con precisión alta pero recall bajo (los resultados relevantes faltaban por completo)?
- ☐ ¿Puedes indicar para al menos una pregunta débil si la causa fue más bien el chunking, la elección del modelo de embeddings o la falta de sinónimos?
QUIZ RÁPIDO
¿Por qué no basta con evaluar solo la respuesta final en un sistema RAG?
FUENTES
- Ragas Docs: Context Precision ↗ docs.ragas.io
- Ragas Docs: Context Recall ↗ docs.ragas.io