RAG-система без evaluation -- чёрный ящик. Faithfulness 0.78 или 0.42? Retrieval recall 90% или 50%? Без метрик невозможно улучшать pipeline. RAGAS даёт исследовательские метрики (faithfulness, context recall) без ground truth. DeepEval добавляет pytest-like тестирование и self-explaining scores. TruLens предлагает tracing для production debugging. Прогрессия: RAGAS для быстрого старта, DeepEval для CI/CD, TruLens/LangSmith для production monitoring.
RAG evaluation requires measuring both retrieval quality (did we find the right docs?) and generation quality (is the answer correct?). RAGAS focuses on RAG pipelines, DeepEval offers broader LLM/agent evaluation, and TruLens excels at tracing. The progression path is RAGAS → DeepEval → TruLens/LangSmith.
fromdeepevalimportevaluatefromdeepeval.metricsimportFaithfulnessMetricmetric=FaithfulnessMetric(threshold=0.7,model="gpt-4",include_reason=True# Self-explaining)# Output includes:# Score: 0.85# Reason: "The answer claims X but context only supports Y..."
"Какой инструмент оценки RAG выбрать для старта?" -- RAGAS: purpose-built для RAG, Apache 2.0, не требует ground truth, синтетическая генерация тестовых данных. Для CI/CD -- DeepEval (pytest native).
"Когда LLM-as-Judge ненадёжен?" -- Hallucination detection (80% agreement vs 95% у людей). Для high-stakes и regulatory compliance -- только human eval.
"Чем Faithfulness отличается от Answer Relevance?" -- Faithfulness: ответ основан на контексте (grounded). Answer Relevance: ответ отвечает на вопрос. Можно быть faithful но irrelevant (точно цитируешь контекст, но не про то).
Practical:
"Как интегрировать RAG evaluation в CI/CD?" -- DeepEval + pytest: pytest tests/eval/ --tb=short. Threshold 0.7 для faithfulness, fail pipeline если ниже.
"Высокий RAGAS Score = хороший RAG" -- RAGAS Score это среднее 4 метрик. Faithfulness 0.95 + Context Recall 0.30 = RAGAS 0.56, но retrieval сломан. Всегда смотри на отдельные компоненты.
"RAGAS не требует ground truth, значит можно не создавать тестовый датасет" -- RAGAS оценивает без ground truth, но Context Recall всё равно требует reference answer для сравнения. Для полной оценки нужен хотя бы маленький curated dataset.
"Один инструмент для всего" -- RAGAS не умеет agent eval, DeepEval не имеет tracing, TruLens не имеет pytest. Прогрессия: RAGAS (research) -> DeepEval (CI/CD) -> TruLens (production monitoring).