Transformers.js 机器学习
将以下提示词粘贴到你的 AI 对话框中:
请根据 https://skillhub.cn/install/skillhub.md,安装 @org-02qudk26/transformers-js-zh。
技能介绍
要解决什么问题
很多团队想在 Web 或 Node 服务里做文本分类、翻译、图像识别或语音识别,但默认路径是 Python + 独立推理服务:部署重、延迟高,浏览器端更是难以直接跑模型。Transformers.js 把 Hugging Face 生态里的 Transformer 模型搬到 JavaScript 运行时(浏览器、Node.js、Bun、Deno),用 ONNX/WASM 或 WebGPU 在本地完成推理,不必再维护单独的 ML 服务器。
技能如何工作
核心入口是 pipeline() API:把预处理、模型推理和后处理串成一条调用链,第二个参数可指定 Hub 上的模型 ID。加载前可通过 ModelRegistry(v4) 查看缓存、dtype 与预估体积;全局 env 控制缓存策略与加载行为。任务面覆盖 NLP(分类、NER、问答、生成、翻译、摘要、零样本分类)、计算机视觉(分类、检测、分割、深度估计)、音频(ASR、分类、TTS)以及多模态(图生文、文档问答、特征提取等)。
设备与精度可按场景选:device 在 CPU、WASM、WebGPU 间切换;dtype 在 fp32/fp16/q8/q4 间权衡体积与速度。大模型下载可挂 progress_callback 做进度 UI。文本生成另有流式输出、聊天角色与 temperature 等参数,需对照技能内的文本生成指南。
适用边界与注意点
- Hub 模型需具备 ONNX 产物(仓库里通常有
onnx目录),否则可能加载失败。 pipe.dispose()用完后必须调用,否则浏览器或长驻 Node 进程容易内存泄漏;换模型、批量任务结束、组件卸载时都要释放。- 浏览器 WebGPU 依赖较新 Chromium 系;不可用时回退 WASM/CPU,大模型仍要关注下载体积与内存上限。
- 生产环境建议锁定模型 revision,并复用同一 pipeline 实例而不是每次推理重建。
使用场景
- 在 React 产品页对用户评论做情感分类,推理全在浏览器完成,不经过 Python 推理服务
- Node.js 上传接口收到图片后做图像分类或目标检测,用 pipeline 指定 Hub 上的 ONNX 模型
- 原型阶段在 Chrome 里跑 Whisper 类 ASR,把麦克风音频转成文本做本地调试
- 多模态页面用图生文 pipeline 为上传图片生成描述,再配合文档问答做内网资料检索
适合人员
- 负责 SPA 隐私与延迟的前端工程师,希望文本/视觉模型在客户端用 WASM 或 WebGPU 跑通
- 维护 Node/Bun 服务的后端工程师,想接翻译或摘要能力又不愿单独部署 Python 推理进程
- 需要在 Hugging Face Hub 上按 pipeline_tag 选模型、对比 q8/q4 量化后再上线的 ML 集成工程师
- 做内网文档助手或离线 Demo 的全栈开发者,要处理大模型下载进度与 pipe.dispose() 内存释放