Содержание
RAG-оценка — это набор метрик и фреймворков для измерения качества Retrieval-Augmented Generation: точности поиска (retrieval), полноты ответа (answer relevancy), отсутствия галлюцинаций (hallucination) и согласованности (faithfulness). Пять главных open-source инструментов 2026 — Ragas (14,6K звезд), DeepEval (16,6K), TruLens (3,4K), LangFuse (30K, оценка как часть платформы) и Arize Phoenix (10,4K). Выбор зависит от стадии проекта: Ragas — для быстрых экспериментов, DeepEval — для CI/CD, LangFuse — для продакшн-мониторинга.
RAG-системы — самый популярный способ интеграции LLM в бизнес-процессы: 51% компаний уже имеют AI-агентов в продакшне по данным Digital Applied 2026. Но без метрик качества RAG превращается в чёрный ящик: модель может отвечать красиво, но неправильно, находить не те документы или галлюцинировать. Разберем пять фреймворков, которые решают эту проблему.
Схема оценки RAG-системы: данные проходят через retriever и генератор, затем каждый фреймворк измеряет своё
Коротко: что такое оценка RAG
Оценка RAG-системы — это не просто «правильно или нет». Это четыре уровня измерений: качество поиска (retrieval precision, recall, MRR), качество генерации (answer relevancy, faithfulness), отсутствие галлюцинаций (hallucination score) и скорость или стоимость (latency, token cost). Каждый фреймворк измеряет их по-своему.
По данным Atlan 2026, главная проблема RAG-оценки — контекстный разрыв: модели дают хорошие метрики на синтетических тестах, но проваливаются на реальных запросах пользователей. Поэтому инструменты эволюционировали от простых бенчмарков (BEIR, MTEB) к фреймворкам с синтетической генерацией тестов, CI/CD-интеграцией и продакшн-мониторингом.
Рынок соответствующих инструментов вырос на 280% за 2025–2026 годы по данным Braintrust, а 68% команд используют минимум два инструмента: один для офлайн-тестирования и один для продакшн-наблюдения.
| Фреймворк | Звёзд | Ориентация | Установка | Цена | Главная фишка |
|---|---|---|---|---|---|
| Ragas | 14,6K | Офлайн-метрики | pip install | Бесплатно | Faithfulness по утверждениям |
| DeepEval | 16,6K | CI/CD тесты | pip install | Бесплатно | Синтез тестов + GitHub Actions |
| TruLens | 3,4K | Агенты | pip install | Бесплатно | Feedback-функции для агентов |
| LangFuse | 30K | Платформа | Docker Compose | Free/от $59 | Оценка на реальном трафике |
| Arize Phoenix | 10,4K | ML observability | pip install | Бесплатно | Embedding drift анализ |
Ragas — стандарт индустрии
Ragas (github.com/explodinggradients/ragas) начинался как академический проект, а стал де-факто стандартом офлайн-оценки. 14,6 тысячи звезд на GitHub, Apache 2.0, Python — его главное преимущество в том, что он первым предложил готовый набор метрик и способ их считать не выходя из ноутбука.
Ragas на GitHub — 14,6K звезд, Python, Apache 2.0
Что измеряет: Context Precision и Context Recall — насколько релевантные документы вошли в контекст и все ли нужные документы найдены. Answer Relevancy — отвечает ли генерация на вопрос. Faithfulness — соответствует ли ответ фактам из документов. И Hallucination — обратная сторона faithfulness.
Как работает: Ragas берёт набор вопросов, эталонных ответов и документов, прогоняет через RAG-пайплайн и вычисляет метрики. Для faithfulness он разбивает ответ на утверждения и проверяет каждое по документам — это даёт интерпретируемые результаты, а не абстрактную цифру.
pip install ragas
from ragas import evaluate
from datasets import Dataset
dataset = Dataset.from_dict({
"question": [...],
"answer": [...],
"contexts": [[...], ...],
"ground_truth": [...]
})
results = evaluate(dataset)
print(results)
Сильные стороны: низкий порог входа — pip install и готовые метрики, хорошо описаны в документации и в статьях на Habr. Интеграция с LangChain, LlamaIndex, любым RAG.
Слабые стороны: только офлайн — нет мониторинга в продакшне. Не умеет автоматически генерировать тестовые выборки из реального трафика. Для больших датасетов может быть медленным.
DeepEval — тестирование для CI/CD
DeepEval (github.com/confident-ai/deepeval) — самый звёздный фреймворк (16,6K звезд), который сместил фокус с научных метрик на инженерную практику: тесты должны работать в CI/CD, давать понятные отчёты и не требовать PhD.
Что измеряет: 14+ готовых метрик, включая все стандартные из Ragas (faithfulness, answer relevancy, contextual recall), плюс специфические: G-Eval (LLM-as-judge), Toxicity (безопасность), Bias, Hallucination, Summarization.
Отличительная черта — синтетическая генерация тестов. DeepEval умеет брать реальный документ и автоматически создавать вопрос-ответные пары для тестирования. Это решает главную проблему Ragas: не нужно вручную писать тестовый датасет.
pip install deepeval
from deepeval.metrics import FaithfulnessMetric
from deepeval.test_case import LLMTestCase
metric = FaithfulnessMetric()
test_case = LLMTestCase(
input="Какие типы RAG существуют?",
actual_output="Naive, Advanced, Agentic RAG",
retrieval_context=["Naive RAG - pipeline", "Advanced RAG добавляет reranking"]
)
metric.measure(test_case)
print(f"Faithfulness: {metric.score}")
Сильные стороны: глубокий CI/CD — готовые плагины для GitHub Actions, pytest-совместимость, Databricks-интеграция. Конфиденциальный режим: тесты можно запускать с локальной LLM (Ollama), не отправляя данные наружу.
Слабые стороны: перегружен функциональностью — новичку сложно разобраться в 14 метриках и их настройках. Документация многословна, примеры разбросаны.
TruLens — прозрачность для агентов
TruLens (github.com/truera/trulens) от TruEra — наименее популярный из пятёрки (3,4K звезд), но с уникальным фокусом: оценка не просто RAG, а агентных систем с инструментами и многошаговой логикой.
Что измеряет: три главные метрики — Answer Relevance (ответ релевантен вопросу), Context Relevance (контекст релевантен вопросу) и Groundedness (ответ основан на контексте). Ключевое отличие: TruLens строит feedback-функции — кастомные проверки, которые можно писать под свою бизнес-логику.
Например, для агента, который бронирует переговорки, одна feedback-функция проверяет, что время бронирования не пересекается с существующими, а вторая — что выбран правильный этаж. Это выходит далеко за рамки стандартной «верности фактам».
pip install trulens-eval
from trulens_eval import Tru
from trulens_eval.feedback import Feedback, Groundedness
import numpy as np
grounded = Groundedness(groundedness_provider=provider)
f_groundedness = Feedback(
grounded.groundedness_measure_with_cot_reasons
).on(output=..., source=...).aggregate(np.min)
Сильные стороны: единственный фреймворк с нормальной поддержкой агентов — Chainlit, LangChain, LlamaIndex, Haystack, CrewAI. Дашборд с временными рядами: видно, как меняется качество между деплоями.
Слабые стороны: малое сообщество, редкие обновления. Документация ориентирована на Python. Для TypeScript-проектов поддержки нет.
LangFuse — платформа с оценкой
LangFuse (github.com/langfuse/langfuse) — не просто фреймворк оценки, а полноценная LLM-инженерная платформа: трассировка (tracing), управление промптами, A/B-тестирование, observability и оценка в одном продукте. 30 тысяч звезд на GitHub делают его самым популярным в этой нише.
Как устроена оценка в LangFuse: вместо отдельной библиотеки метрик, LangFuse предлагает eval-пайплайны, которые запускаются на продакшн-трафике. Вы пишете функцию-оценщик (LLM-as-judge или модель-классификатор), подключаете её к потоку трассировок, и LangFuse автоматически считает метрики на части запросов (sampling rate настраивается).
Можно использовать встроенные шаблоны — faithfulness, answer relevancy, contextual recall — или кастомные. Результаты доступны в дашборде с фильтрацией по модели, версии промпта, временному диапазону.
from langfuse import Langfuse
langfuse = Langfuse()
# Callback для автоматической оценки
@langfuse.eval()
def evaluate_answer(trace):
faithfulness = llm_judge(
trace.input, trace.output, trace.context
)
return {"faithfulness": faithfulness}
# Ручная оценка
trace = langfuse.trace(name="rag-query")
trace.score(name="faithfulness", value=0.92)
Сильные стороны: оценка на реальном трафике — не на синтетических тестах. Ready-made дашборды. Self-hosted в Docker Compose (ClickHouse + PostgreSQL), данные не уходят вовне. Единый интерфейс для оценки, трассировки и промптов.
Слабые стороны: тяжеловесен — для маленького проекта Docker Compose на ClickHouse избыточен. Eval-пайплайны требуют настройки. Бесплатный лимит — 50K units в месяц.
Arize Phoenix — AI observability
Arize Phoenix (github.com/Arize-AI/phoenix) — фреймворк от компании Arize AI, известной продакшн-мониторингом ML-моделей. Phoenix — это open-source ядро их платформы, заточенное на LLM-наблюдаемость.
Что умеет: трассировка LLM-вызовов, визуализация ретривера (клондайк-график: насколько далеко друг от друга лежат embedding-векторы), оценка по любым метрикам через LLM-as-judge, анализ промпт-инъекций и дрейфа эмбеддингов. Phoenix первым добавил embedding drift analysis — если распределение векторов в базе знаний изменилось, значит, данные устарели и RAG врёт.
Уникальная функция — Phoenix Datasets: вы фиксируете тестовый набор (Golden Dataset), прогоняете RAG, Phoenix показывает регрессию качества по сравнению с предыдущим прогоном. Аналог регрессионного тестирования для ML.
pip install arize-phoenix
import phoenix as px
from phoenix.trace import LlamaIndexInstrumentor
instrumentor = LlamaIndexInstrumentor()
instrumentor.start()
# Оценка релевантности
from phoenix.evals import llm_classify, RAG_RELEVANCY_PROMPT_RAILS
df = llm_classify(
dataframe=df,
template=RAG_RELEVANCY_PROMPT_RAILS,
model="gpt-4o",
rails=["relevant", "irrelevant"],
)
Сильные стороны: embedding drift — никто больше этого не делает. Бесплатно и безлимитно в self-hosted версии. Интеграция с LlamaIndex, LangChain, DSPy, Haystack.
Слабые стороны: ориентирован на Python и AI-research аудиторию — продуктовый UX слабый. Нет встроенного управления промптами. Дашборд сложен для нетехнического пользователя.
Коротко
Выбор фреймворка для оценки RAG зависит от стадии проекта:
- На этапе прототипа — Ragas: быстрый старт через pip, готовые метрики
- На этапе CI/CD — DeepEval: синтетические тесты, GitHub Actions, 14 метрик
- На этапе агентных систем — TruLens: feedback-функции для инструментов
- На этапе продакшн-мониторинга — LangFuse: оценка на реальном трафике
- На этапе ML-исследований — Arize Phoenix: embedding drift, регрессия датасетов
68% команд в 2026 году используют два инструмента одновременно — один для офлайн-тестирования и один для продакшн-наблюдения. Наиболее сбалансированная связка: DeepEval в CI/CD + LangFuse в продакшне. Они не пересекаются по функциональности и покрывают весь lifecycle RAG-системы.
Что ещё важно знать
Какой фреймворк точнее всего оценивает RAG?
Точность зависит от метрики. Для faithfulness и hallucination Ragas показывает лучшие корреляции с человеческой оценкой по данным исследования Atlan 2026. Для answer relevancy DeepEval с LLM-as-judge даёт более стабильные результаты, потому что использует шаблоны с chain-of-thought рассуждением.
Можно ли использовать все фреймворки вместе?
Технически — да, они не конфликтуют. На практике — не нужно: Ragas и DeepEval перекрываются по метрикам на 80%. Лучше взять один для офлайна (DeepEval или Ragas) и один для онлайна (LangFuse или Phoenix). Связка DeepEval + LangFuse покрывает 95% сценариев.
Обязательно ли нужен LLM-провайдер для оценки?
Большинство метрик используют LLM-as-judge — то есть другая LLM оценивает ответ. Все фреймворки поддерживают локальные модели через Ollama (OpenAI API-совместимый). Для простых метрик (context precision, recall) можно обойтись embedding-моделью без LLM, но faithfulness и hallucination требуют LLM-судью.
Сколько тестовых примеров нужно для оценки?
Исследование Label Your Data рекомендует минимум 50–100 примеров для базовой оценки и 200–500 для продакшн-качества. DeepEval умеет генерировать синтетические примеры из ваших документов, что снижает порог входа до 10–20 ручных примеров.