AI Agents · Lección

Evaluación de RAG (RAGAS, Recall@K)

Mida la fidelidad, la relevancia de la respuesta, la precisión del contexto y recall@K para saber si los cambios ayudan.

Lección 4 de 415 pasos

Evaluación de RAG (RAGAS, Recall@K) es una lección gratuita de AI Agents en CoddyKit. Esta es la lección 4 de 4. Puedes leer la lección completa abajo gratuitamente — luego la practicas en el navegador con un editor de código integrado y un tutor de IA 24/7. Forma parte de la ruta de aprendizaje de AI Agents, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de AI Agents incluye 4 lecciones en total.

No puede mejorar lo que no puede medir

RAG tiene muchos parámetros: tamaño de los fragmentos, top-K, reordenador, prompt y modelo. Sin métricas, cada cambio es una suposición.

Métricas clave para RAG

  1. Recuperación: ¿recuperamos los fragmentos correctos?
  2. Fidelidad: ¿la respuesta se mantiene fundamentada en los fragmentos?
  3. Relevancia de la respuesta: ¿la respuesta aborda la pregunta?
  4. Precisión/cobertura del contexto: proporción de fragmentos útiles recuperados

Recall@K

Construya un conjunto de referencia de pares (question, list-of-relevant-chunk-ids). Mida con qué frecuencia los fragmentos recuperados en el top-K contienen al menos uno relevante:

def recall_at_k(eval_set, k=5):
    hits = 0
    for item in eval_set:
        retrieved = retriever(item['question'], k=k)
        if any(c.id in item['relevant_ids'] for c in retrieved):
            hits += 1
    return hits / len(eval_set)

Precision@K

¿Qué fracción de los fragmentos recuperados es relevante?

def precision_at_k(eval_set, k=5):
    total_relevant = 0
    total_retrieved = 0
    for item in eval_set:
        retrieved = retriever(item['question'], k=k)
        total_relevant += sum(1 for c in retrieved if c.id in item['relevant_ids'])
        total_retrieved += k
    return total_relevant / total_retrieved

MRR (rango recíproco medio)

¿En qué posición aparece el PRIMER documento relevante?

def mrr(eval_set, k=10):
    total = 0
    for item in eval_set:
        retrieved = retriever(item['question'], k=k)
        for rank, c in enumerate(retrieved, start=1):
            if c.id in item['relevant_ids']:
                total += 1 / rank
                break
    return total / len(eval_set)

Fidelidad (LLM como juez)

Utilice un LLM para comprobar si cada afirmación de la respuesta está respaldada por el contexto:

judge_prompt = '''
Given the context and answer, identify each factual claim in the answer.
For each claim, judge whether the context supports it.
Return {claims: [{claim, supported: true/false}]}.
'''
result = judge_llm.invoke(judge_prompt.format(context=ctx, answer=ans))

Relevancia de la respuesta

Evaluación inversa: pregunte a un LLM «¿Podría esta respuesta responder a esta pregunta?». Detecta los resultados que se desvían del tema.

Framework RAGAS

RAGAS automatiza las métricas anteriores:

# pip install ragas
from ragas import evaluate
from ragas.metrics import faithfulness, answer_relevancy, context_precision, context_recall

results = evaluate(
    dataset,            # HF dataset with question, contexts, answer, ground_truth
    metrics=[faithfulness, answer_relevancy, context_precision, context_recall]
)
print(results)

Crear un conjunto de referencia

Entre 20 y 200 tuplas (question, expected_answer, relevant_chunks) seleccionadas por personas. Incluya:

  • Consultas habituales
  • Casos extremos
  • Entradas adversarias (preguntas fuera del corpus)

Conjuntos de evaluación sintéticos

Para arrancar, pida a un LLM que genere pares de preguntas y respuestas a partir de sus documentos. La calidad es menor, pero es rápido:

synth_prompt = 'Read this document and write 3 questions a user might ask, with answers from the doc:\n{doc}'
# Use as a starting point; humans curate later.
print(synth_prompt)

Conjuntos de datos de LangSmith y Langfuse

Ambas herramientas permiten convertir los registros de producción en conjuntos de datos de evaluación. Seleccione 50 preguntas reales que hayan tenido malos resultados, etiquete las respuestas correctas y utilícelas como referencia.

No optimice demasiado una sola métrica

Maximizar Recall@K puede perjudicar Precision@K (demasiados falsos positivos). Realice un seguimiento de varias métricas y de una métrica compuesta.

Pruebas A/B en producción

Cuando tenga una evaluación sin conexión que se correlacione con la satisfacción del usuario, podrá probar los cambios mediante pruebas A/B en producción y comparar tanto las métricas como las valoraciones positivas de los usuarios.

Definición de Recall@K

¿Qué significa Recall@5 = 0.8?

Resumen

Construya un conjunto de referencia. Mida Recall@K, Precision@K, MRR, la fidelidad y la relevancia de la respuesta. Utilice RAGAS para automatizar el proceso. Itere basándose en sus métricas.

Gratis para empezar

Aprende AI Agents con un tutor de IA — gratis

Escribe y ejecuta código real en tu navegador, obtén ayuda instantánea de un tutor de IA disponible 24/7 y continúa donde lo dejaste en la web o en la aplicación.

Cursos
60
Lecciones
239

Preguntas frecuentes

¿La lección «Evaluación de RAG (RAGAS, Recall@K)» es gratis?

Sí — el texto completo de «Evaluación de RAG (RAGAS, Recall@K)» es gratis para leer aquí en la web. Para practicarla de forma interactiva (editor de código integrado y tutor de IA 24/7) y desbloquear el resto del curso de AI Agents, actualiza a CoddyKit PRO. El curso de AI Agents incluye 4 lecciones en total.

¿Qué aprenderé en «Evaluación de RAG (RAGAS, Recall@K)»?

Mida la fidelidad, la relevancia de la respuesta, la precisión del contexto y recall@K para saber si los cambios ayudan. Practicas AI Agents con código real que ejecutas directamente en el navegador, y un tutor de IA 24/7 responde tus preguntas mientras trabajas en la lección.

¿Necesito experiencia previa para empezar AI Agents?

No se requiere experiencia previa. AI Agents en CoddyKit está estructurado para principiantes hasta estudiantes avanzados, así que puedes empezar aquí o desde el inicio y avanzar a tu ritmo. Esta es la lección 4 de 4.

¿Cuánto tiempo toma la lección «Evaluación de RAG (RAGAS, Recall@K)»?

La mayoría de las lecciones de CoddyKit toman alrededor de 5–10 minutos. Cada una es compacta e interactiva, así que avanzas constantemente y retomas exactamente por donde dejaste en la web y la app.

¿Puedo escribir y ejecutar código en esta lección de AI Agents?

Sí. Cada lección de AI Agents incluye un editor de código integrado, así que escribes y ejecutas código real directamente en tu navegador y obtienes retroalimentación instantánea de IA — sin configuración local necesaria.

Todas las lecciones de este curso

  1. Reordenación con cross-encoders
  2. HyDE: embeddings de documentos hipotéticos
  3. Recuperación multivectorial (ColBERT)
  4. Evaluación de RAG (RAGAS, Recall@K)
← Volver a AI Agents