"玩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做过什么有意思的东西,欢迎在评论区晒晒,让我抄抄作业。