Как тестировать LLM-приложения Когда начинаешь делать что-то на базе LLM, довольно быстро появляется проблема: после изменения prompt’а, retrieval или model settings качество может неожиданно измениться.
Причём визуально это не всегда заметно сразу.
Поэтому вокруг LLM evals уже появился отдельный слой инструментов.
Один из самых популярных — DeepEval.
По сути это framework для тестирования LLM-приложений: chatbot’ов, RAG-систем, AI-agent’ов, structured generation, tool calling flows.
Идея похожа на обычные тесты в software engineering: есть набор сценариев → система прогоняется через evals → метрики показывают деградацию или улучшение.
Например можно проверять: relevance ответа, hallucinations, faithfulness к контексту, качество retrieval, toxicity, корректность JSON output.
Пример простого eval:
from deepeval import assert_test from deepeval.metrics import AnswerRelevancyMetric from deepeval.test_case import LLMTestCase Щ metric = AnswerRelevancyMetric(threshold=0.7)
test_case = LLMTestCase( input="What is RAG?", actual_output=response )
assert_test(test_case, [metric])
Для RAG есть отдельные метрики: ContextualPrecision ContextualRecall Faithfulness
То есть можно тестировать не только сам ответ модели, но и насколько retrieval вообще принёс релевантный контекст.
Ещё полезно, что DeepEval можно запускать: локально, в CI/CD, как regression tests после изменений prompt’ов или моделей.
Сейчас LLM evals постепенно становятся отдельной частью AI engineering, потому что ручная проверка начинает плохо масштабироваться уже на относительно небольших AI-приложениях.