О чём урок
Примечание: Этот урок находится в папке, содержащей соответствующие файлы кода. Скачайте всю папку, если вы хотите следовать инструкциям и запустить 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. Самый простой вариант — написать их в виде текста непосредственно в файле YAML.
План урока
- Promptfoo: пользовательские кодовые грейдеры
- Инициализация promptfoo
- Подготовка наших prompt
- Написание наших тестовых случаев
- Добавление пользовательской функции грейдера
- Запуск evaluation
Урок входит в полный доступ. Полный текст и видео открываются после оплаты. Первые уроки каждого курса бесплатны.