О чём урок
Примечание: Этот урок находится в папке, содержащей соответствующие файлы кода. Скачайте всю папку, если вы хотите следовать инструкциям и запустить evaluation самостоятельно До сих пор мы видели, как использовать некоторые встроенные грейдеры promptfoo, такие как exact-match и contains-all. Это часто полезные функции, но promptfoo также предоставляет нам возможность писать собственную логику оценки для более специфичных задач оценки. Чтобы продемонстрировать это, мы будем использовать очень простой шаблон prompt: Напишите короткий абзац о {{topic}}. Убедитесь, что вы упомянули {{topic}} ровно {{count}} раз, не больше и не меньше. Мы заполним {{topic}} и {{count}} значениями, такими как "tweezers" и 7, что приведет к появлению prompt, похожего на: Напишите короткий абзац о tweezers. Убедитесь, что вы упомянули tweezers ровно 7 раз, не больше и не меньше. Чтобы оценить этот output, нам потребуется написать собственную логику, чтобы убедиться, что output модели упоминает "tweezers" ровно 7 раз. Для prompt: Напишите короткий абзац о sheep. Убедитесь, что вы упомянули sheep ровно 3 раза, не больше и не меньше. Нам потребуется написать логику оценки, чтобы убедиться, что слово "sheep" появляется ровно 3 раза в output модели. Как всегда, первым шагом является инициализация promptfoo с помощью команды: Как мы видели ранее, это создает файл promptfooconfig.yaml. Мы можем удалить существующее содержимое. Далее мы настроим наших providers. Добавьте следующее в promptfooconfig.yaml: Это сообщает promptfoo, что мы хотим провести evaluation с помощью Claude 3 Haiku и Claude 3.5 Sonnet. Мы сравним, насколько хорошо они справляются с этой конкретной задачей! Убедитесь, что вы установили переменную окружения ANTHROPIC_API_KEY. Вы можете установить переменную окружения, выполнив эту команду в вашем терминале: До сих пор мы видели, что можем писать наши prompt в виде функций в файле Python. Это наш рекомендуемый подход, но promptfoo предоставляет несколько других вариантов для указания prompt.
План урока
- Promptfoo: пользовательские кодовые грейдеры
- Инициализация promptfoo
- Подготовка наших prompt
- Написание наших тестовых случаев
- Добавление пользовательской функции грейдера
- Запуск evaluation
Урок входит в полный доступ. Полный текст и видео открываются после оплаты. Первые уроки каждого курса бесплатны.