Promptfoo vs DeepEvalчто выбрать для тестирования LLM
Promptfoo описывает evals декларативно в YAML и запускается как CLI, а DeepEval — это фреймворк в стиле pytest: тесты пишутся кодом и запускаются командой deepeval test run. Promptfoo удобнее для быстрого сравнения моделей и промптов и для red teaming, DeepEval — когда проверки LLM должны быть обычными тестами в Python-репозитории с готовыми метриками RAG и агентов.
Автор: Олег Пендрак · Факты сверены с документацией 20 сентября 2026 г.
Что выбрать
Выбирайте Promptfoo, если:
- Нужно быстро сравнить несколько моделей или версий промпта на одном наборе кейсов.
- Команда предпочитает декларативную конфигурацию в YAML, а не тестовый код.
- Нужны red teaming и проверка приложения на уязвимости в том же инструменте.
- Проект на Node.js или вы не хотите привязывать evals к Python-репозиторию.
Выбирайте DeepEval, если:
- LLM-проверки должны жить в Python-проекте как обычные тесты и запускаться в CI.
- Нужны готовые метрики RAG (Faithfulness, Contextual Recall и др.), агентов и многоходовых диалогов.
- Нужен собственный критерий, описанный словами (G-Eval).
- Команда уже пишет тесты на pytest и хочет тот же подход.
Сравнение по критериям
| Критерий | Promptfoo | DeepEval |
|---|---|---|
| Что это | CLI и библиотека для evals и red teaming LLM-приложений | Open-source фреймворк для unit-тестирования LLM-приложений, по духу похожий на pytest |
| Лицензия | MIT | Apache 2.0 |
| Как описываются тесты | Декларативно: YAML-файл promptfooconfig.yaml (промпты, провайдеры, кейсы, проверки) | Кодом: тестовые функции с assert_test и объектами LLMTestCase |
| Установка | npm install -g promptfoo, brew install promptfoo, pip install promptfoo или запуск через npx promptfoo@latest | pip install -U deepeval (Python) и npm install --save-dev deepeval (TypeScript) |
| Запуск | promptfoo eval и promptfoo view для просмотра результатов | deepeval test run test_file.py |
| Проверки ответов | Детерминированные (equals, contains, regex, is-json, latency, cost и др.) и модельные (llm-rubric, g-eval, factuality, context-faithfulness, context-recall и др.) | Метрики: G-Eval и DAG, RAG (Answer Relevancy, Faithfulness, Contextual Recall, Contextual Precision, Contextual Relevancy), агентные, многоходовые, а также Hallucination, Summarization, Bias, Toxicity, JSON Correctness |
| Модель-судья | Провайдеры задаются в конфиге (OpenAI, Anthropic, Azure, Bedrock, Ollama и другие), модели можно сравнивать рядом | По умолчанию OpenAI (нужен OPENAI_API_KEY), можно подключить собственную модель |
| Безопасность и red teaming | Встроены red teaming, сканирование уязвимостей и проверка pull request на риски LLM | В проверенном README отдельным разделом не выделены; есть метрики Bias и Toxicity |
| Где выполняется | Локально: по README промпты не покидают вашу машину (запросы к моделям идут провайдерам) | По README метрики выполняются локально; в качестве судьи по умолчанию вызывается OpenAI |
| Платформа | Проект стал частью OpenAI и остаётся open source под MIT | Confident AI — отдельная необязательная платформа для отчётов и мониторинга |
Если в ячейке написано «в проверенном README не описано», это значит, что в изученных материалах такой информации нет, а не что возможности у инструмента нет. Проверьте актуальную документацию.
Как использовать вместе
Практический совет: Promptfoo подходит для быстрых сравнений моделей и промптов и для red teaming, а DeepEval — для регрессионных тестов LLM внутри Python-проекта. Это не взаимоисключающие инструменты: у них разные точки входа в один и тот же процесс оценки.
Частые вопросы
Что лучше для новичка: Promptfoo или DeepEval?
Promptfoo проще начать без кода: достаточно YAML-конфига и трёх команд (init, eval, view). DeepEval лучше подойдёт, если вы уже пишете тесты на pytest и хотите тот же подход для LLM.
Можно ли использовать Promptfoo и DeepEval вместе?
Да. Promptfoo можно применять для сравнения моделей, промптов и red teaming, а DeepEval для тестов внутри Python-проекта. Главное — единый golden dataset и согласованные критерии оценки.
У какого инструмента больше готовых метрик?
В README DeepEval перечислены десятки метрик: RAG, агентные, многоходовые, Hallucination, Bias, Toxicity и другие. В Promptfoo проверки называются assertions: детерминированные и модельные типы, включая context-faithfulness и context-recall. Выбирать стоит по тому, какие из них вам нужны.
Источники
Другие сравнения
Изучай инструменты на практике
Курсы ThreadQA по Selenium, REST Assured, Appium и другим инструментам — с реальными проектами и поддержкой ментора.