О чём урок
В этом уроке мы реализуем несколько более сложную проверку, оцениваемую кодом, с нуля, чтобы протестировать prompt для классификации жалоб клиентов. Наша цель — написать prompt, который сможет надежно классифицировать жалобы клиентов по следующим категориям:
- Software Bug
- Hardware Malfunction
- User Error
- Feature Request
- Service Outage
Например, следующий текст жалобы:
Веб-сайт полностью не работает, я не могу получить доступ ни к одной странице
Должна быть классифицирована как Service Outage
В некоторых случаях мы можем разрешить до двух применимых категорий классификации, как в этом примере:
Думаю, я что-то установил неправильно, и теперь мой компьютер вообще не запускается
которая должна быть классифицирована как User Error и Hardware Malfunction
Начнем с определения нашего набора данных для оценки, состоящего из входных данных и эталонных ответов. Помните, что обычно нам нужен набор данных для оценки, содержащий около 100 входных данных, но чтобы уроки были простыми (быстрыми и недорогими в выполнении), мы используем сокращенный набор.
Этот тестовый набор состоит из списка словарей, где каждый словарь содержит ключи complaint и golden_answer:
Начнем с базового prompt и измерим его производительность. Функция, генерирующая prompt, приведенная ниже, принимает complaint в качестве аргумента и возвращает строку prompt:
Далее мы напишем логику для оценки prompt. Эта логика несколько сложнее, чем наш пример "подсчета ног" из предыдущего урока:
Функция evaluate_prompt выполняет следующее:
- Она передает каждый вход в нашу функцию, генерирующую prompt, и запускает полученный prompt через модель, используя функцию get_model_response, собирая ответы по мере их генерации.
- Она вычисляет точность, сравнивая ответы модели с эталонными ответами в нашем наборе данных. Для этого она вызывает функцию calculate_accuracy.
- Функция calculate_accuracy проверяет, присутствуют ли соответствующие категории классификации в каждом из выходных данных модели, используя set. Помните, что это не точное соответствие, как наша предыдущая оценка "подсчета ног".
- calculate_accuracy возвращает показатель точности.
- evaluate_prompt выводит окончательные результаты.
Обратите внимание, что вместо оценки по точному…
План урока
- Проверка, оцениваемая кодом: задача классификации
- Набор данных для оценки
- Первоначальный prompt
- Сбор результатов
- Улучшенный prompt
Урок входит в полный доступ. Полный текст и видео открываются после оплаты. Первые уроки каждого курса бесплатны.