浏览器里给短评打标签,Transformers.js 把模型接成一个函数

开源项目猫目发布于 来源:Transformers.js 官方资料
输入文字、返回标签和分数:从一个小任务看清JavaScript怎样运行支持的本地模型。

为什么值得关注

让JavaScript应用直接运行支持的模型,把短文本处理变成可接入的结果。

适合谁:希望在网页中加入文字、图片或音频模型功能的开发者

这次有哪些亮点

  • pipeline封装预处理与结果处理
  • 默认浏览器CPU通过WASM运行
  • 支持条件下可选WebGPU和量化模型

使用前需要知道

框架Apache 2.0不覆盖模型许可;默认情感示例为英文,不能拿来证明中文短评效果。首次模型与运行文件通常需下载。

收集了一批短评,想在页面里先标出可能的正面或负面表达,不一定要为这一步单独搭一个Python服务。Transformers.js可以让JavaScript应用直接调用支持的模型,把输入文字转换成标签和分数。

它的入口很像一个普通函数,背后仍有模型文件、运行时和任务适配。看懂这个小例子,就比较容易判断它能放进网页的哪一部分。

官方短评示例,返回的是怎样的结果

README快速示例创建情感分析pipeline,输入一句表示喜欢该项目的英文,返回包含标签和分数的数组。这个pipeline将模型、输入预处理和输出处理组合起来,应用不必自己逐步拼接每个环节。

有两个条件不能被省略。第一,示例是英文材料,默认模型的语言范围不能直接扩展成中文;第二,标签分数来自所选模型,并不是对用户真实态度的权威判断。反讽、引用和复合情绪,仍可能需要结合上下文阅读。

因此,面向内容整理时,更适合把标签作为筛选信号,保留原文供编辑查看,而不是据此自动删除或改写评论。机器先帮助定位一组值得看的表达,人的判断仍能留在最后。

代码相近,运行条件并不完全相同

Transformers.js采用ONNX Runtime。浏览器中默认通过WASM在CPU运行,在支持条件下,也可以指定WebGPU使用GPU。选择设备不是保证提速的按钮,浏览器、模型算子和设备资源都可能影响结果。

项目还提供dtype选项,支持的取值随模型变化,可以选不同精度或量化格式。量化通常有助于减小下载与资源开销,但不能预先承诺对任何任务都没有质量影响。相同输入下的结果、等待时间和文件体积,应该一起观察。

对一个简单短评页面,先用小批量材料把输入与标签接通,再决定是否改用GPU或量化,往往更容易看出改动究竟改善了哪里。

本地运行,资源也需要有准备路径

项目默认从托管位置获取模型与预编译WASM文件。官方配置允许设置本地模型路径、关闭远程模型加载,并指定WASM文件位置。这为需要控制资源来源的应用提供了入口,但这些设置仍需要配合实际文件部署,不能只改一个开关就实现完整离线。

选模型时也要查看Transformers.js兼容标记和任务支持,Python库里存在的模型不一定能未经转换就直接放进浏览器。代码框架的Apache 2.0许可,也不替代模型权重条件。

它值得尝试的地方,是把一个明确的模型任务接到现有JavaScript流程里。先确定你需要标签、文本还是向量,再选择支持该任务和语言的模型,保留原输入与结果,才能让“页面里运行AI”变成一段具体可检查的功能。

原始资料:Transformers.js 官方资料

以上为编辑整理,功能、许可与使用条件以官方说明为准。

返回每日分享