当前位置:首页>python>别只盯着 Python 了!这个 JS 库让前端也能玩转 AI 大模型

别只盯着 Python 了!这个 JS 库让前端也能玩转 AI 大模型

  • 2026-09-02 19:50:00
别只盯着 Python 了!这个 JS 库让前端也能玩转 AI 大模型

"玩AI大模型?那不是后端该干的活吗?"

直接在浏览器中运行 🤗 Transformers,无需服务器!

Transformers.js 的设计旨在与 Hugging Face 的 transformers Python 库在功能上等效,这意味着您可以使用非常相似的 API 运行相同的预训练模型。这些模型支持不同模态下的常见任务,例如:

  • 📝 自然语言处理:文本分类、命名实体识别、问答、语言建模、摘要、翻译、多项选择和文本生成。
  • 🖼️ 计算机视觉:图像分类、目标检测、分割和深度估计。
  • 🗣️ 音频:自动语音识别、音频分类和文本转语音。
  • 🐙 多模态:嵌入、零样本音频分类、零样本图像分类和零样本目标检测。

Transformers.js 使用 ONNX Runtime 在浏览器中运行模型。最棒的是,您可以使用 🤗 Optimum 轻松地将预训练的 PyTorch、TensorFlow 或 JAX 模型转换为 ONNX。

快速导览

从现有代码进行转换非常简单!就像 Python 库一样,我们支持 pipeline API。管道将预训练模型与输入预处理和输出后处理结合在一起,使其成为使用该库运行模型的最简单方式。

Python(原始)Javascript(我们的)
from transformers import pipeline# Allocate a pipeline for sentiment-analysispipe = pipeline('sentiment-analysis')  out = pipe('I love transformers!')# [{'label': 'POSITIVE', 'score': 0.999806941}]
import { pipeline } from'@huggingface/transformers';// Allocate a pipeline for sentiment-analysisconst pipe = awaitpipeline('sentiment-analysis');const out = awaitpipe('I love transformers!');// [{'label': 'POSITIVE', 'score': 0.999817686}]

您还可以通过将模型ID或路径作为第二个参数传递给 pipeline 函数来使用不同的模型。例如:

// Use a different model for sentiment-analysis 
const pipe = awaitpipeline('sentiment-analysis', 'Xenova/bert-base-multilingual-uncased-sentiment');

默认情况下,在浏览器中运行时,模型将在您的CPU(通过WASM)上运行。如果您想在GPU(通过WebGPU)上运行模型,可以通过设置 device: 'webgpu' 来实现,例如:

// Run the model on WebGPU
const pipe = awaitpipeline('sentiment-analysis', 'Xenova/distilbert-base-uncased-finetuned-sst-2-english', {  device: 'webgpu', });

"前端跑大模型,手机不会卡成PPT吧?"

放心,人家做了不少优化。支持模型量化、按需加载,普通笔记本甚至手机浏览器,跑个轻量级的BERT、GPT-2或者图像分类模型,流畅得很。

而且跟Hugging Face Hub是无缝衔接的,上面几千个现成的模型,只要是适配的,拿来就能用。不用你自己吭哧吭哧训练,复制个模型ID,几行代码就加载进来了。

我第一次跑通的时候,看着浏览器控制台里模型加载成功的提示,居然有种"我也能搞AI了"的错觉...


版权这块儿也给你整得明明白白

用的是Apache 2.0协议,个人玩票能商用,公司项目也能商用,只要遵守基本条款就行。协议里责任边界写得清楚,只要不是故意搞事情,开发者不用担额外的赔偿责任。

对中小企业和独立开发者来说,算是吃了颗定心丸。不用担心用着用着律师函就来了。


新手能上手吗?能,而且比你想的简单

官方文档做得挺友好,还有Hugging Face社区可以交流。我这种之前没碰过大模型的前端,跟着示例敲了一遍,半小时就跑通了第一个功能。

成就感还是有的。看着网页自己就能"思考"了,那种感觉挺奇妙的。


说点实在的

现在前端卷成啥样了,大家都懂。多掌握一个AI相关的技能,真的能拉开差距。

别再觉得AI是后端的专属领域了。transformers.js把门槛降到了前端触手可及的程度——做个人作品集、给公司项目加AI功能、或者自己捣鼓点小工具,都能用上。

与其天天追新框架,不如抽半天时间玩玩这个。说不定下次汇报的时候,你就能甩出一个"纯前端实现的智能功能",老板眼睛一亮,你的存在感不就刷起来了?

技术这东西,早用早香。

趁现在还没被卷得太厉害,赶紧上手试试。下次跟同事吹牛,你就是那个"既懂前端又懂AI"的狠人了。


对了,如果你已经用transformers.js做过什么有意思的东西,欢迎在评论区晒晒,让我抄抄作业。

最新文章

随机文章