transformers-js
Transformers.js — это навык для запуска предварительно обученных моделей машинного обучения прямо из JavaScript или TypeScript. Он рассчитан на браузерные приложения и серверные среды Node.js, Bun и Deno, поэтому прикладной код может выполнять инференс без отдельного Python-сервера. В исходном описании отдельно перечислены задачи обработки текста, компьютерного зрения, аудио и мультимодальных сценариев. Это делает навык полезным для прототипов и клиентских функций, где модель должна работать рядом с интерфейсом, а также для небольших серверных обработчиков, которым нужен единый JS/TS-стек. Главная точка входа — API pipeline. Он объединяет предварительную обработку входа, запуск модели и постобработку результата, так что для типового сценария не требуется вручную соединять эти этапы. Через pipeline можно решать задачи классификации текста, извлечения сущностей, ответов на вопросы, генерации, перевода, суммаризации и классификации без примеров. Для текста навык также показывает работу с параметрами генерации и языковыми кодами перевода. Модель можно выбрать явно, указав её идентификатор из Hugging Face Hub, а каталог моделей удобно фильтровать по задаче и поддержке Transformers.js. Область применения не ограничивается NLP. Для изображений перечислены классификация, обнаружение объектов, сегментация, оценка глубины, zero-shot-классификация изображений и zero-shot-обнаружение объектов. Для аудио доступны автоматическое распознавание речи, классификация аудио и синтез речи; для мультимодальных задач — подпись к изображению и ответы на вопросы по изображению документа. Отдельный pipeline feature-extraction возвращает тензор признаков, который можно использовать для эмбеддингов; в примере показаны mean pooling и нормализация. Таким образом, один и тот же программный подход подходит для текста, картинок, звука и комбинированных входов, но конкретный pipeline и совместимую модель нужно выбирать по карточке модели и задаче. Среду исполнения можно подбирать под компромисс между доступностью и скоростью. WASM указан как широкий вариант запуска, а WebGPU — как режим для среды и оборудования, которые его поддерживают. В примерах фигурируют CPU через WASM по умолчанию и явный выбор WebGPU через параметр device. Для размера и скорости инференса предусмотрены варианты точности fp32, fp16, q8 и q4; это не отменяет проверки качества на собственных данных. После работы pipeline нужно вызвать dispose: исходный материал прямо предупреждает, что освобождение ресурсов необходимо, иначе длительный процесс или браузерная вкладка могут накапливать память. Для старта пакет устанавливается через @huggingface/transformers, а для браузерного эксперимента допускается импорт ES-модуля с CDN. В совместимости указаны Node.js 18+ либо совместимый Bun/Deno runtime и современный браузер с поддержкой ES-модулей. Загрузка моделей из Hugging Face Hub требует интернет-доступа, если не используются локальные модели. Поэтому навык особенно уместен для JS/TS-проекта, которому нужны локальный инференс, WebGPU/WASM и единый API pipeline; перед production-использованием необходимо отдельно проверить поддержку выбранной модели, объём памяти, производительность конкретного устройства и корректное освобождение pipeline.
Для чего подходит
- Интеграция ML-моделей в JavaScript и TypeScript
- Запуск моделей в браузере через WebGPU или WASM
- NLP, vision, audio и multimodal inference
Установка
Сначала прочитайте SKILL.md и scripts в исходном репозитории. Затем выполните команду в каталоге проекта:
npx skills add https://github.com/huggingface/skills/tree/main/skills/transformers-js