DeepEval - Pytest для эпохи больших языковых моделей

26 May, 2026

DeepEval Logo

Вы когда-нибудь задумывались, как можно объективно оценить качество работы вашего чат-бота или RAG-системы? В мире традиционного ПО у нас есть unit-тесты, но с появлением LLM всё стало сложнее. DeepEval решает эту проблему, предлагая инструмент для тестирования языковых моделей, который уже используют более 9500 разработчиков.

Что такое DeepEval?

DeepEval — это open-source фреймворк для оценки работы больших языковых моделей, своего рода Pytest для LLM. Он позволяет:

  • Тестировать качество ответов чат-ботов и AI-агентов
  • Оценивать эффективность RAG-систем
  • Сравнивать разные модели по 20+ метрикам
  • Интегрировать тесты в CI/CD

Проект создан командой Confident AI и развивается с августа 2023 года, собрав уже более 9,5 тысяч звезд на GitHub.

Ключевые возможности

1. Богатый набор метрик

DeepEval поддерживает более 20 встроенных метрик оценки, включая:

Реклама
  • G-Eval — научно обоснованный метод оценки качества текста
  • RAG-метрики (Answer Relevancy, Faithfulness и др.)
  • Безопасность: токсичность, bias, SQL-инъекции
  • Агентские метрики: завершенность задачи, корректность использования инструментов

Каждая метрика работает локально на вашей машине и может использовать любую LLM по вашему выбору.

2. Гибкость тестирования

Можно тестировать как всю систему целиком (end-to-end), так и отдельные компоненты:

from deepeval.tracing import observe
from deepeval.metrics import GEval

@observe(metrics=[GEval(name="Correctness")])
def my_llm_component():
    # Ваш код компонента
    return

3. Интеграция с популярными фреймворками

DeepEval легко подключается к:

  • LlamaIndex — для тестирования RAG в CI/CD
  • Hugging Face — для оценки во время тонкой настройки моделей

Как это работает на практике?

Рассмотрим пример тестирования чат-бота поддержки клиентов:

import pytest
from deepeval import assert_test
from deepeval.metrics import GEval
from deepeval.test_case import LLMTestCase

def test_refund_policy():
    test_case = LLMTestCase(
        input="Что делать, если обувь не подошла?",
        actual_output="У вас есть 30 дней на полный возврат средств.",
        expected_output="Мы предлагаем полный возврат в течение 30 дней.",
        retrieval_context=["Все клиенты имеют право на полный возврат в течение 30 дней."]
    )
    
    metric = GEval(
        name="Корректность",
        criteria="Определите, насколько 'actual_output' соответствует 'expected_output'.",
        threshold=0.5
    )
    
    assert_test(test_case, [metric])

Запуск теста простой командой:

deepeval test run test_chatbot.py

Платформа Confident AI

Для тех, кто хочет большего, есть облачная платформа Confident AI, которая позволяет:

  1. Хранить историю тестов
  2. Сравнивать разные версии моделей
  3. Генерировать отчеты
  4. Настраивать метрики под свои нужды

Для использования достаточно выполнить:

deepeval login

Кому будет полезен DeepEval?

  • Разработчикам чат-ботов — для контроля качества ответов
  • Командам, работающим с RAG — для оценки релевантности контекста
  • AI-инженерам — для сравнения разных моделей и промптов
  • Командам CI/CD — для автоматического тестирования LLM-компонентов

DeepEval — это мощный, но простой в использовании инструмент, который закрывает важный пробел в экосистеме LLM. Если вы серьезно работаете с языковыми моделями, стоит потратить пару часов на его изучение — это сэкономит вам дни ручного тестирования.

Ссылки для изучения: