راهنمای رسمی Transformers.js برای ایجنتهای کدنویس
خلاصهٔ کاملتر
هاگینگفیس تو ریپوی Transformers.js یه فایل SKILL.md اضافه کرده که یه جور راهنمای فشرده برای ایجنتهای کدنویسه (یعنی دستیارهای هوش مصنوعی که خودشون کد مینویسن). متن با لحن دستوری نوشته شده و به جای اینکه کتابخونه رو معرفی کنه، سعی میکنه جلوی اشتباههای رایج ایجنتها رو بگیره. تو خود فایل اومده که سازگاریش Node.js نسخه ۲۰ به بالا یا معادلش تو Bun و Deno هست، یا یه مرورگر مدرن با پشتیبانی ES modules.
بخش اول همون چیزیه که انتظار داری: pipeline(task, model?, options?) رو تابعی معرفی میکنه که ۹۰ درصد مواقع تنها چیزیه که لازم داری، بعد لیست کامل تسکهای پشتیبانیشده رو با مدل پیشفرض هرکدوم میده. مثلاً پیشفرض text-generation مدل onnx-community/Qwen3-0.6B-ONNX هست و پیشفرض automatic-speech-recognition مدل Xenova/whisper-tiny.en.
مهمترین قانونش اینه: قبل از پیشنهاد هر مدلی مطمئن شو واقعاً وزنهای ONNX داره، چون کتابخونه بدون اونها نمیتونه مدل رو لود کنه. دو راه گفته؛ یکی نگاه کردن به پوشه onnx/ تو تب فایلهای مدل روی Hub، یکی هم چک کردن برنامهای با ModelRegistry.get_available_dtypes. آرایه خالی یعنی مدل هست ولی فایل ONNX نداره، و خطای ModelFileNotFoundError یعنی مدل اصلاً وجود نداره یا خصوصیه. خطای شبکه هم جدا برمیگرده تا با نبود ONNX قاطی نشه.
const dtypes = await ModelRegistry.get_available_dtypes("Xenova/some-model");
if (dtypes.length === 0) {
// Model exists but has no ONNX files.
}جدول dtype هم حجم هر حالت رو نسبت به fp32 میده: fp16 حدود ۵۰ درصد، q8 حدود ۲۵ درصد و q4 حدود ۱۲ درصد. پیشنهادش q8 برای مرورگر و q4f16 برای مدلهای زبانی بزرگ روی WebGPU هست. بخش مدیریت حافظه هم تأکید میکنه که حتماً بعد از کار با یه pipeline اون رو dispose کنی، مخصوصاً تو سرورهای همیشهروشن یا موقع unmount شدن کامپوننت.
const pipe = await pipeline("sentiment-analysis");
try {
const result = await pipe("Great!");
} finally {
await pipe.dispose();
}نکات کلیدی:
- فایل تو مسیر .ai/skills/transformers-js/SKILL.md ریپو قرار داره و لایسنسش Apache-2.0 هست
- سازگاری اعلامشده: Node.js 20 به بالا یا مرورگر مدرن با ES modules
- ModelRegistry.get_available_dtypes آرایه خالی برگردونه یعنی مدل فایل ONNX نداره
- q8 حدود ۲۵ درصد حجم fp32 هست و پیشنهاد پیشفرض برای مرورگره
- بعد از dispose() نمیشه همون pipeline رو دوباره استفاده کرد، باید نو بسازی
- سه فایل مرجع کنارش هست: TASKS.md، CONFIGURATION.md و PIPELINE_OPTIONS.md




