Was macht transformers-js?
Nutzen Sie Transformers.js, um modernste Machine-Learning-Modelle direkt in JavaScript/TypeScript auszuführen. Unterstützt NLP (Textklassifikation, Übersetzung, Zusammenfassung), Computer Vision (Bildklassifikation, Objekterkennung), Audio (Spracherkennung, Audioklassifikation) und multimodale Aufgaben. Läuft in Browsern und serverseitigen Laufzeitumgebungen (Node.js, Bun, Deno) mit WebGPU/WASM unter Verwendung vortrainierter Modelle vom Hugging Face Hub.
Installation
npm install @huggingface/transformers
Oder für Deno:
deno add npm:@huggingface/transformers
Grundlegende Verwendung
Textklassifikation (Browser/Node.js)
import { pipeline } from '@huggingface/transformers';
// Erstellen einer Textklassifikations-Pipeline
const classifier = await pipeline('sentiment-analysis');
const result = await classifier('Ich liebe Transformers.js!');
console.log(result);
// [{ label: 'POSITIVE', score: 0.999876 }]
Bildklassifikation
import { pipeline } from '@huggingface/transformers';
const classifier = await pipeline('image-classification');
const url = 'https://huggingface.co/datasets/Xenova/transformers.js-docs/resolve/main/tiger.jpg';
const result = await classifier(url);
console.log(result);
// [{ label: 'tiger', score: 0.892 }]
Unterstützte Aufgaben
| Aufgabe | Pipeline-Name | Beispiele |
|---|---|---|
| Textklassifikation | sentiment-analysis | Stimmungsanalyse |
| Übersetzung | translation | Übersetzung zwischen Sprachen |
| Zusammenfassung | summarization | Textzusammenfassung |
| Bildklassifikation | image-classification | Objekterkennung |
| Objekterkennung | object-detection | Echtzeit-Objekterkennung |
| Spracherkennung | automatic-speech-recognition | Transkription |
| Audioklassifikation | audio-classification | Audio-Labeling |
| Textgenerierung | text-generation | Textvervollständigung |
Konfiguration (WebGPU/WASM)
Standardmäßig wählt Transformers.js automatisch den besten verfügbaren Backend aus (webgpu oder wasm). Sie können den Backend manuell festlegen:
import { env } from '@huggingface/transformers';
// WebGPU erzwingen (bevorzugt für GPU-Beschleunigung)
env.backends.onnx.backend = 'webgpu';
// Oder WASM erzwingen (fallback)
env.backends.onnx.backend = 'wasm';
Modelle vom Hugging Face Hub verwenden
Sie können jedes kompatible Modell vom Hugging Face Hub mit seiner ID referenzieren:
const classifier = await pipeline('sentiment-analysis', {
model: 'Xenova/distilbert-base-uncased-finetuned-sst-2-english'
});
Fehlerbehandlung
try {
const result = await classifier('Beispieltext');
} catch (error) {
console.error('Fehler bei der Ausführung des Machine-Learning-Modells:', error);
}
Unterstützte Laufzeitumgebungen
- Browser: Modern browsers with WebGPU/WASM support (Chrome, Edge, Firefox, Safari 15+)
- Node.js: Node.js 18+ mit
--experimental-wasm-threadsFlag - Bun: Bun 1.0+
- Deno: Deno 1.30+