Poyro-это легкое расширение Vitest (современная структура тестирования с Jest, подобным API) для тестирования приложений LLM. Познакомство с Vitest может помочь вам получить больше от Пойро.
Пойро следует за лучшей практикой использования LLMS для оценки выходов вашего приложения LLM. Пойро преобразует условия естественного языка в бинарные единичные тесты. Модульное тестирование должно быть бесплатным, а по умолчанию - приложения ИИ, которые включают в себя приложения ИИ - поэтому мы используем локальный запуск маленького LLM для оценки выходов вашего приложения.
Для получения дополнительного контекста о том, почему использовать Poyro и примеры того, как его использовать вместе с приложениями LLM Vitest Test, прочитайте наши эссе:
Испытания искусственного интеллекта как часть инженерии полного стека
Как написать модульные тесты для вашего веб -приложения для искусственного интеллекта
Тематическое исследование - Единое тестирование юридического приложения ИИ
Примеры запускающегося кода для этой статьи
Node.js 20 или позже
Vitest 1,6,0 или позже
Ваш проект должен иметь «тип»: «модуль» в своем package.json (эта библиотека только ESM)
Рекомендуется: CUDA-совместимый с GPU (NVIDIA) или металл-совместимый с GPU (яблочный кремний) для лучшей производительности, но не требуется
Чтобы начать быстро, просто беги:
NPX Poyro init
Чтобы использовать совпадения, создайте файл с расширением .test.ts
в любом месте вашего проекта. Вот пример:
// myFirstStest.test.tsimport {описать, ожидайте, это} от "vitest"; description ("myfirstStest", () => { Это («должно быть истинно», Async () => {// заменить это на выходы вашего приложения LLM Llmoutput = "Привет, мир!"; // Критерий на естественном языке: истинный или фальсиат ожидает (llmoutput) .tofulfillCriterion (" Говорит привет »); }, 10000); // увеличить тайм -аут по мере необходимости с третьим аргументом});
toFulfillCriterion
может определить, соответствует ли вывод LLM или не соответствует критерию естественного языка.
В первый раз, когда вы запускаете тест, как приведенный выше, будет загружен файл модели для нашего локального запуска LLM. Это должно занять пару минут.
Запустите Vitest с вашим менеджером пакетов, например, с помощью npm
:
NPM Тест
Подобные команды работают с yarn
и pnpm
.
Мы предоставляем решения для общих проблем на нашей странице устранения неполадок. Взгляните на решения там, и если вы продолжите столкнуться с проблемами, не стесняйтесь обращаться к нам.
Вы можете подать проблему, перейдя в наш репозиторий GitHub и создав новую проблему. До отправки проблемы, пожалуйста, проверьте, была ли аналогичная проблема уже отправлена.
Если вы хотите получить помощь, мозговой штурм на Good Evals, или если вы просто хотите пообщаться с другими разработчиками Poyro, присоединяйтесь к нашему сообществу по Discord!
Если вы хотите внести свой вклад в Poyro, пожалуйста, прочитайте наше руководство по применению.
Начните с клонирования репозитория:
git clone https://github.com/poyro/poyro.git
Далее установите все зависимости:
PNPM Установка
При разработке вы можете либо запустить pnpm dev
в корне, который автоматически создаст все соответствующие пакеты при внесении изменений, либо вы можете запустить pnpm dev
в пакете, над которым вы работаете.