Введение в LLMOps

Обзор инструментов для LLMOps

Содержание курса

Инструменты автоматического тестирования и оценки качества LLM

OpenAI Evals: Это фреймворк от OpenAI с открытым исходным кодом, предназначенный для оценки моделей и их сравнения. OpenAI Evals позволяет создавать так называемые “evals” – тесты, где вы определяете: какие промпты подать на вход, что считать правильным или желаемым выходом, и метрику оценки (точное совпадение, наличие ключевого слова, оценка другим LLM и т.д.). С помощью Evals можно, к примеру, проверить: “Насколько модель правдиво отвечает на вопросы из базы фактов?” или “Как часто модель нарушает заданную инструкцию в таких-то сценариях?”. Фреймворк поставляется с библиотекой готовых оценочных наборов (benchmark’ов) – например, тесты на математические задачи, кодогенерацию, безопасность. В 2024–2025 OpenAI также добавил интеграцию Evals в свой веб-интерфейс: можно запускать оценку прямо через OpenAI dashboard, загружая свои данные. Особенность OpenAI Evals – сообщество: множество инженеров по всему миру делятся своими evals, пополняя общий реестр. Поэтому если вы вводите модель в новую предметную область, шанс есть найти готовый набор вопросов для тестирования. Использование Evals важно в LLMOps цикле при обновлении модели или prompt’ов: прежде чем выкатить в продакшн, вы можете быстро “прогнать” новую версию через десяток ключевых сценариев, убедиться, что она не регрессировала. Конечно, OpenAI Evals не привязан только к моделям OpenAI – им можно тестировать и Claude, и свои модели (но для своих – придётся реализовать адаптер). Фреймворк больше ориентирован на разработчиков: конфигурация теста идёт в коде (Python) или YAML, результаты можно логировать в файлы или даже W&B. Summing up, OpenAI Evals стал de-facto стандартом для создания настраиваемых тестов качества LLM, особенно в тех командах, которые серьёзно следят за метриками при каждой итерации.

Ragas: Ragas – это open-source библиотека (Python), созданная специально для оценки приложений на основе Retrieval-Augmented Generation (RAG). Название намекает: RAG + as (как сервис). Основная идея Ragas: предоставить разработчикам набор метрик и инструментов для измерения качества LLM-ответов в связке с retrieval. Когда LLM отвечает пользователю, опираясь на найденные документы, хочется понимать:

  • Насколько ответ точно отражает информацию из источников?

  • Не упустил ли агент важный документ?

  • Насколько релевантны были найденные пассы в базе знаний?
    Рagas умеет автоматически оценивать такие вещи. В частности, в библиотеке есть метрики на основе LLM (LLM-критики), которые читают ответ и исходный контекст и выставляют оценку “правильности по источникам”. Также есть традиционные метрики типа precision/recall для поиска. Дополнительно Ragas может генерировать тестовые случаи автоматически: например, на основе ваших реальных данных сформировать вопросы, чтобы затем проверить, как система на них ответит. Интеграция Ragas с LangChain позволяет прямо на продакшен-логах запускать оценку: вы экспортируете трассы (включающие запрос, найденные документы, ответ модели), скармливаете их Ragas – и он выдает вам численные показатели качества. Это сильно экономит время, ведь не нужно вручную проверять сотню диалогов – Ragas подсветит самые проблемные. Разработчики позиционируют Ragas как средство внедрения обратной связи в цикл разработки: по сути, вы улучшаете RAG-систему, наблюдая за метриками Ragas до и после изменений. Библиотека молодая, но активно набирает популярность в open-source сообществе RAG-разработчиков.

Promptfoo: Promptfoo – интересный инструмент для тех, кто исповедует подход “test-driven prompt engineering”. Это утилита (CLI и библиотека) для автоматизированного тестирования промптов и моделей. С помощью Promptfoo вы можете задавать сценарии теста в виде простого YAML или JSON: перечисляете примеры запросов, указываете, какой ответ ожидается (или хотя бы ключевые слова/фрагменты, которые должны присутствовать или отсутствовать), и запускаете проверку. Утилита сама подставит ваши промпты к модели (поддерживает разные API: OpenAI, локальные модели и др.), получит ответы и сравнит с ожиданием. Например, можно протестировать: “Модель не должна раскрывать конфиденциальные данные при таком-то запросе” – ожидание: ответ содержит фразу отказа. Или “Для математического вопроса ответ должен содержать числовое значение”. Promptfoo хорош тем, что позволяет быстро проверять регрессии: сохранили набор из 50 тест-промптов, и каждый раз перед релизом новой версии прогоняете – видите, все ли проходят. Кроме того, Promptfoo поддерживает сравнение нескольких моделей или вариантов промптов параллельно. Можно одновременно протестировать GPT-4.5 vs Claude 3 vs локальный Mistral на одном и том же наборе вопросов и получить таблицу, где видны сильные и слабые стороны каждого (по вашим критериям). Интеграция в CI тоже возможна: например, если какой-то тест не прошёл, билд провалится – значит, нужно править prompt или логику, прежде чем выпускать обновление. Promptfoo – открытый проект, который стал довольно популярным среди разработчиков маленьких LLM-продуктов и энтузиастов, потому что он лёгковесный и понятный. Он учит тому, что качество LLM-ответов можно и нужно проверять автоматически, насколько это возможно, а не полагаться только на ручное прогоны и удачу.

Начать заново?

Помощник начнёт новый диалог по этой задаче. Текущая переписка останется в истории до конца срока хранения.

О переписке

Можно приложить до трёх фото PNG, JPEG или WebP по 5 МБ.

Переписка и фото хранятся 90 дней после последнего принятого сообщения. Преподаватель получит доступ к диалогу, когда вы попросите его помочь.

Проверка решения остаётся отдельным действием.