О чём урок
Оценки ориентированы на задачи и итеративны; это лучший способ проверить работу вашей интеграции LLM и улучшить её. В следующей оценке мы сосредоточимся на задаче обнаружения, является ли изменение моего prompt'а регрессией. Наш сценарий использования: У меня есть интеграция LLM, которая принимает список push-уведомлений и суммирует их в одно сжатое утверждение. Я хочу определить, приводит ли изменение prompt'а к регрессии поведения. Оценки состоят из двух частей: "Eval" и "Run". "Eval" содержит конфигурацию ваших критериев тестирования и структуру данных для ваших "Run'ов". Один Eval может иметь множество Run'ов, которые оцениваются по вашим критериям тестирования. Мы тестируем следующую интеграцию — суммирование push-уведомлений, которая принимает несколько push-уведомлений и объединяет их в одно; это вызов chat completions. Eval содержит конфигурацию, которая используется несколькими Run'ами, и состоит из двух компонентов: Конфигурация источника данных data_source_config — схема (столбцы), которой соответствуют ваши будущие Run'ы. data_source_config использует JSON Schema для определения того, какие переменные доступны в Eval. Критерии тестирования testing_criteria — как вы будете определять, работает ли ваша интеграция для каждой строки вашего источника данных. Для этого сценария использования мы хотим проверить, насколько хорошо работает завершение суммирования push-уведомлений, поэтому мы настроим наш eval с учётом этого. Этот data_source_config определяет, какие переменные доступны на протяжении всего eval. Эта схема элемента: Означает, что переменная {{item.notifications}} будет доступна в нашем eval. "include_sample_schema": TrueОзначает, что переменная {{sample.output_text}} будет доступна в нашем eval. Теперь мы используем эти переменные для настройки наших критериев тестирования. push_notification_grader — это модель-оценщик (LLM-as-a-judge), который анализирует входные данные {{item.notifications}} и сгенерированное резюме {{sample.output_text}}, а затем помечает их как "correct" или "incorrect".Затем мы указываем с помощью "passing_labels", что считается проходным ответом. Примечание: под капотом используется структурированный вывод, чтобы метки всегда были валидными. Теперь мы создадим наш eval и начнём добавлять в него данные!
План урока
- Структура оценок
- Сценарий использования
- Поздравляем, вы только что предотвратили выпуск бага пользователям
Урок входит в полный доступ. Полный текст и видео открываются после оплаты. Первые уроки каждого курса бесплатны.