THREADQA
    THREADQA
    Главная
    Курсы
    Java QA AutomationNEW
    Новый курс · уже можно купить
    Python QA Automation
    Pytest, Playwright, Docker
    iOS QA Automation
    XCTest, XCUITest, Fastlane
    Все курсы
    Сравнить Java / Python / iOS
    Практика
    Мок собеседование
    Тренировка перед реальным интервью
    XPath Practice Hub
    Тренажёр XPath-запросов
    Roadmap
    Путь QA-инженера
    Тренажёры
    SQL, Git, Docker, Linux, тест-дизайн
    QA игры
    8 мини-игр для тестировщика
    XPath Dinner
    Практика XPath в игровом формате
    Каталог инструментов
    Инструменты тестирования и сравнения
    Глоссарий ИИ-тестирования
    LLM, RAG, метрики, evals
    С чего начать
    Блог
    FAQ
    Для компаний
    1. Домой
    2. Инструменты тестирования
    3. DeepEval
    Оценка LLM (evals)Средний

    DeepEval
    что это и как начать

    DeepEval — open-source фреймворк (Apache 2.0) для unit-тестирования LLM-приложений в стиле pytest. Тест — это функция с assert_test, тест-кейс LLMTestCase и одна или несколько метрик: G-Eval, метрики RAG (Faithfulness, Answer Relevancy, Contextual Recall и другие), метрики агентов и диалогов. Метрики используют LLM-as-a-judge, по умолчанию модель OpenAI.

    Автор: Олег Пендрак · Обновлено 20 сентября 2026 г.

    Когда выбирать DeepEval

    Подходит

    • LLM-проверки должны быть обычными тестами в Python-репозитории с запуском в CI.
    • Нужны готовые метрики: G-Eval, faithfulness, contextual recall и precision, hallucination, JSON Correctness.
    • Нужно оценивать не только ответ, но и поиск в RAG, вызовы инструментов агентом, многоходовые диалоги.
    • Нужен собственный критерий: G-Eval позволяет описать его словами.

    Не подходит

    • Нужен только сравнительный прогон моделей и промптов без кода — Promptfoo проще.
    • Нужна трассировка реального продакшен-трафика как основная задача — смотрите Langfuse, LangSmith или Arize Phoenix.
    • Нет ключа к модели-судье: по умолчанию метрики требуют OPENAI_API_KEY (можно подключить свою модель).

    Установка

    Python
    pip install -U deepeval
    TypeScript
    npm install --save-dev deepeval

    Примеры тестов

    Первый тест: G-Eval с критерием словами

    test_chatbot.py
    1from deepeval import assert_test
    2from deepeval.metrics import GEval
    3from deepeval.test_case import LLMTestCase, SingleTurnParams
    4
    5
    6def test_correctness():
    7    correctness = GEval(
    8        name="Correctness",
    9        criteria="Determine if the 'actual output' is correct based on the 'expected output'.",
    10        evaluation_params=[SingleTurnParams.ACTUAL_OUTPUT, SingleTurnParams.EXPECTED_OUTPUT],
    11        threshold=0.5,
    12    )
    13    test_case = LLMTestCase(
    14        input="What if these shoes don't fit?",
    15        actual_output="You have 30 days to get a full refund at no extra cost.",
    16        expected_output="We offer a 30-day full refund at no extra costs.",
    17    )
    18    assert_test(test_case, [correctness])

    Запуск: deepeval test run test_chatbot.py. Перед запуском задайте переменную окружения OPENAI_API_KEY: по умолчанию метрики оценивает модель OpenAI. Код соответствует примеру из документации.

    Метрика Faithfulness для RAG

    faithfulness_example.py
    1from deepeval.metrics import FaithfulnessMetric
    2from deepeval.test_case import LLMTestCase
    3
    4actual_output = "We offer a 30-day full refund at no extra cost."
    5retrieval_context = ["All customers are eligible for a 30 day full refund at no extra cost."]
    6
    7metric = FaithfulnessMetric(threshold=0.7, model="gpt-4.1", include_reason=True)
    8test_case = LLMTestCase(
    9    input="What if these shoes don't fit?",
    10    actual_output=actual_output,
    11    retrieval_context=retrieval_context,
    12)
    13
    14metric.measure(test_case)
    15print(metric.score, metric.reason)

    Для FaithfulnessMetric обязательны input, actual_output и retrieval_context. include_reason=True возвращает объяснение оценки, по нему удобно разбирать провалы.

    Типичные ошибки

    Ключ и модель судьи
    Метрики используют LLM-as-a-judge, по умолчанию OpenAI, и без OPENAI_API_KEY тесты не запустятся. Заранее решите, какую модель-судью вы используете, и зафиксируйте её в коде.
    Слишком мягкий threshold
    У метрик есть порог (threshold), и слишком низкий пропускает плохие ответы. Подбирайте его по вашим кейсам, сверяя с человеческой оценкой, а не по значению по умолчанию.
    Неполный тест-кейс
    Каждая метрика требует свои поля LLMTestCase: для RAG-метрик нужен retrieval_context. Без него метрика не сможет посчитаться, поэтому собирайте контекст вместе с ответом.
    Один судья на всё
    Метрики в одном прогоне оценивает та же модель-судья. Если она из того же семейства, что и тестируемая система, оценки могут быть завышены, поэтому проверяйте согласие с людьми.

    Вопросы на собеседовании по DeepEval

    • Как выглядит тест в DeepEval и чем он похож на обычный pytest-тест?
    • Что такое G-Eval и когда его лучше использовать, чем готовую метрику?
    • Какие поля LLMTestCase нужны для FaithfulnessMetric и почему?
    • Как оценить отдельно поиск и отдельно генерацию в RAG средствами DeepEval?
    • Как запускать такие тесты в CI и что делать с зависимостью от модели-судьи?

    Отработать ответы можно на мок-собеседовании.

    Частые вопросы

    Что такое DeepEval?

    Open-source фреймворк (Apache 2.0) для тестирования LLM-приложений в стиле pytest: тест-кейсы LLMTestCase, метрики на основе LLM-as-a-judge и запуск командой deepeval test run.

    Какие метрики есть в DeepEval?

    В README перечислены пользовательские (G-Eval, DAG), RAG-метрики (Answer Relevancy, Faithfulness, Contextual Recall, Contextual Precision, Contextual Relevancy), агентные (Task Completion, Tool Correctness и другие), метрики многоходовых диалогов, а также Hallucination, Summarization, Bias, Toxicity и JSON Correctness.

    Нужна ли платформа Confident AI, чтобы пользоваться DeepEval?

    Нет. DeepEval работает как open-source библиотека. Confident AI — отдельная платформа для сравнения итераций, отчётов и мониторинга в продакшене: к ней можно подключиться при необходимости.

    Можно ли запускать DeepEval в CI?

    Да. По документации тесты запускаются в неинтерактивной среде, а для интеграции с Confident AI ключ передаётся командой deepeval login --api-key.

    🧪

    DeepEval

    deepeval.com

    Open-source фреймворк для unit-тестов LLM-приложений в стиле pytest. G-Eval, RAG-метрики, метрики агентов, LLM-as-a-judge. Apache 2.0.

    PythonTypeScript
    Официальный сайт

    На странице

    • Когда выбирать
    • Установка
    • Примеры тестов
    • Типичные ошибки
    • Собеседование
    • Частые вопросы

    Сравнения

    Ближайшие аналоги: Promptfoo (декларативные evals в YAML) и Ragas (метрики RAG и генерация тестовых наборов).

    • Promptfoo vs DeepEval
    • DeepEval vs Ragas

    Смотрите также

    • 📐Ragas
    • 🧪Promptfoo
    • 🐍pytest
    Начни бесплатно

    Изучай инструменты на практике

    Курсы ThreadQA по Selenium, REST Assured, Appium и другим инструментам — с реальными проектами и поддержкой ментора.

    Практика на реальных проектахПоддержка ментораСертификат по окончании
    Начать обучение бесплатно
    Смотреть курсы·Мок-собеседование
    ✓ Доступ навсегда✓ Оплата через СБП✓ Олег отвечает лично✓ Оплата частями от партнёров СБП
    Возврат — по условиям оферты
    THREADQAПлатформа QA Automation

    О платформе

    Обучаем автоматизации тестирования на Java, Python и iOS. Практические курсы, roadmap, тренажёры и персональные мок-интервью.

    Онлайн 24/7

    Курсы

    • Java QA AutomationNEW
    • Python QA Automation
    • iOS QA Automation
    • Про ThreadQA

    Услуги

    • Мок-собеседования

    Инструменты

    • Roadmap QA
    • Тренажёры
    • QA игры
    • Тренажёр XPath
    • XPath Diner
    • Каталог инструментов
    • Глоссарий ИИ-тестирования

    Контакты

    • Email
      info@threadqa.ru
    • Telegram
      @penolegrus
    Публичная офертаПолитика конфиденциальностиУсловия использования
    © 2026·ThreadQA LMS·Все права защищены