Зачем тестировать подсказки?

  • Качество: убедитесь, что выходные данные вашей языковой модели непротиворечивы и соответствуют определенным стандартам качества.
  • Оценка: получайте обзоры производительности, тестируя свои подсказки с различными тестовыми/производственными данными, чтобы повторять и улучшать результаты.
  • Последовательность. Выявляйте регрессии на ранней стадии и снижайте риск непредвиденных последствий, проверяя результат перед каждым развертыванием с помощью автоматизации (например, Github Actions).

Как проверить ваши подсказки?

Существуют различные, хотя и не всегда легкодоступные, решения, как коммерческие, так и с открытым исходным кодом.

Во-первых, позвольте мне рассказать вам о моем опыте работы с коммерческой платформой Vellum.ai, что может прояснить, почему я считаю, что открытый исходный код — это правильный путь.

Веллум.ай (коммерческий)

Моя оценка: Пока нет.

Пока я тестировал Vellum, я сначала нашел пользовательский интерфейс довольно простым, но первые ошибки быстро появлялись, и чем глубже вы погружаетесь, тем более запутанным становится интерфейс.

Странно, что названия тестовых переменных нельзя изменить потом, и даже с их официальными примерными данными интерфейс некорректно адаптируется под отображаемые элементы (которые начинают перекрываться).

Мне удалось запустить пример с игровой площадкой, но мне не удалось запустить собственный тестовый костюм.

Открытый источник

Сквидги-Тести (Питон)



Я нашел эту библиотеку с открытым исходным кодом отличной средой для быстрого тестирования: она имеет все функции тестирования Vellum (ключевое слово, семантическое сходство и т. д.), плюс у вас есть полный контроль над ней.

Он был создан командой экспертов, которая использует его в производстве для Squidgies, и вы можете расширять его по своему усмотрению (пожалуйста, не стесняйтесь добавлять свои PR).

Приложив немного усилий, вы даже можете воспроизвести функцию «производственного тестирования» Vellum, написав Github Action, который просто загружает подмножество ваших последних производственных данных с некоторым интервалом (например, каждый день) и запускает их через вашу систему быстрого тестирования. Сделанный.

Promptfoo (Javascript/Typescript)



Для тех из нас, кому также нравится вариант JS/TS, я только что узнал о Promptfoo, который можно интегрировать с вашим приложением узла.

Это также выглядит как отличный выбор с открытым исходным кодом: он имеет исчерпывающую документацию, имеет несколько различных методов оценки, и разработчик очень быстро реагирует и даже пообещал добавить семантическое сходство в качестве нового метода оценки, что в основном ставит его на один уровень. со Сквидги-Тести. [Обновление: всего через 2 часа Ян уже реализовал семантическое сходство! #суперразработчик]

Заключение

Тестирование подсказок так же важно, как и обычное тестирование программного обеспечения, и эти превосходные фреймворки могут помочь вам не только получать согласованные результаты, но также итерировать и настраивать ваши подсказки за один раз — и они бесплатны и просты в использовании! На самом деле нет причин не использовать их, верно?

Вы даже можете поддерживать библиотеку подсказок онлайн/совместного тестирования с другими, например. в Google Sheets или airtable, а также с автоматической загрузкой данных и массовой оценкой подсказок в любое время.

Если у вас есть вопросы или вы нашли другие интересные решения, не стесняйтесь оставлять комментарии!