Transformers.js 浏览器与 Node.js 推理技能
在 JavaScript 应用中直接运行 Hugging Face 模型。
文档明确说明远程模型下载、缓存、本地模型和自定义 fetch/S3 缓存的数据流,并提供禁用远程加载和清理特定缓存的方法;但默认允许联网下载,示例可向外部 URL 读取图像,并展示 Bearer token 注入和云缓存,却没有用户确认、凭据保护、输入来源限制、完整权限边界或回滚流程。Apache-2.0 和仓库信息有助于归因,但发布者未验证,因此扣分。
安装、运行时、设备、量化、缓存、进度和错误处理均有示例,且多处要求 dispose;但没有可执行测试、CI 覆盖或可复现结果,部分默认值和 API 说明存在张力(例如缓存路径与版本/API 假设),错误处理主要依赖字符串匹配,异常输入、并发、初始化失败和清理失败覆盖不足。因此仅给静态评估可达到的中低分。
目标受众和场景覆盖浏览器、Node.js、Bun、Deno、React、Express 及文本、视觉、音频和多模态任务,且提供本地离线模式;但任务边界、输入限制、模型质量限制和不适用场景不够明确,中文使用指导有限,远程模型核心流程依赖 Hugging Face Hub/CDN,未说明中国大陆网络可达性。
文档层次、目录、交叉引用、安装说明、参数示例、故障排查、许可证、作者、4.x 版本元数据和模型 revision 建议较完整;但未提供 changelog、维护责任人、更新流程或版本兼容矩阵,主 SKILL 内容在任务速查表处截断,且部分引用文件和声明未在给定材料中完整核验。
该技能直接提供 Transformers.js 的安装、pipeline 调用、模型选择、配置、缓存和多运行时示例,理论上可完成核心推理任务;但静态材料没有实际执行证据,模型兼容性、输出正确性、性能和下载可用性未验证,且用户仍需自行选择模型、处理环境差异和审查模型许可证,因此按静态上限给分。
材料包含版本化仓库信息、官方文档和 GitHub 链接、具体代码与 API 名称,具备有限追溯性;但没有提交测试、CI 结果、锁定依赖、第三方复核或运行日志,关键能力主要由文档陈述,故无法超过静态校准上限。
- 默认远程下载模型并使用缓存,运行前应确认模型来源、许可证、网络请求、磁盘占用和缓存位置。
- 不要直接复制含 HF_TOKEN 或 S3 的示例到生产环境;应采用安全的凭据注入、最小权限和日志脱敏。
- 给定主 SKILL 文件内容在任务速查表处不完整,且未提供测试或 CI 证据;部署前应在目标 Node.js/浏览器、设备和中国大陆网络环境中自行验证。
- 模型输出属于概率性推理,文档未提供质量基准、隐私边界或敏感数据处理指南。
这个 Skill 能做什么,适合哪些场景?
该技能指导代理使用 Transformers.js 在 JavaScript/TypeScript 中运行预训练机器学习模型,无需 Python 服务器。它覆盖文本、图像、音频和多模态任务,并支持浏览器、Node.js、Bun 和 Deno。模型可通过 WASM 在 CPU 上运行,也可在具备条件时使用 WebGPU。技能还涵盖模型选择、量化、缓存、进度跟踪、批处理、错误处理和资源释放。
指导安装 @huggingface/transformers,并使用 pipeline API 加载 Hugging Face Hub 或本地模型;执行文本分类、实体识别、问答、文本生成、翻译、摘要、图像分类、目标检测、分割、深度估计、语音识别、音频分类、文本转语音、图像描述、文档问答、零样本检测和特征提取;配置 WebGPU/WASM、模型精度、缓存、远程或本地模型路径及下载进度;处理批量输入、模型版本固定、推理错误和 pipeline.dispose() 清理。
- 前端工程师希望在现代浏览器中实现文本分类、翻译或摘要而不部署 Python 后端。
- Node.js、Bun 或 Deno 开发者需要在服务端调用 Hugging Face 模型进行文本、图像或音频推理。
- 应用开发者需要在浏览器或服务器中运行语音识别、图像检测或多模态任务。
- 需要控制模型大小和性能的团队,可比较 fp32、fp16、q8 和 q4,并选择 WASM 或 WebGPU。
- 需要离线或受控部署的开发者,可配置本地模型、缓存目录和固定模型版本。
这个 Skill 有哪些优点和局限?
- 无需 Python 服务器即可在 JavaScript/TypeScript 中运行模型。
- 同时覆盖 NLP、计算机视觉、音频和多模态任务。
- 支持浏览器、Node.js、Bun 和 Deno,以及 WASM 和可选 WebGPU。
- 提供量化、缓存、批处理、进度回调和本地模型配置指导。
- 模型下载可能从几 MB 到数 GB,并会消耗显著内存及 GPU/CPU 资源。
- WebGPU 依赖运行时与硬件支持;不支持时需要回退到 WASM。
- 远程模型首次加载需要网络;离线使用需要提前准备本地模型。
- 源材料未提供该技能自身的测试套件或跨平台验证结果。
如何安装这个 Skill?
将仓库中的 skills/transformers-js 文件夹复制或符号链接到代理支持的标准 .agents/skills 位置,例如项目中的 .agents/skills。运行时安装依赖:npm install @huggingface/transformers。浏览器也可通过文档中给出的 jsDelivr ES module 地址导入。源材料未说明其他代理的具体安装界面。
如何使用这个 Skill?
向编码代理提出类似请求:"Use the transformers-js skill to build browser-side sentiment analysis with a quantized model and dispose the pipeline when finished." 在代码中导入 pipeline,选择任务和模型,例如 pipeline('sentiment-analysis'),调用生成的 pipeline 处理输入,并在完成后执行 await pipe.dispose()。根据环境选择 device: 'webgpu' 或 WASM 默认路径,并按需设置 dtype、缓存和 progress_callback。
这个 Skill 与同类方案有什么区别?
相较于需要 Python 后端的机器学习集成,该技能强调直接在 JavaScript 应用中运行模型;源材料未提供与具体竞品库的系统比较。