Google于2026年7月9日发布了LiteRT.js库,是一个用于在JavaScript环境中运行AI模型的工具库,今天丁老师就Google LiteRT.js进行介绍。

一、Google LiteRT.js介绍
LiteRT.js,读“谷歌里透阿替”.js,是一款高性能的Web AI推理库,是LiteRT生态在Web端的延伸,简单来说,其实就是TensorFlow.js 的升级版,可以通过WebAssembly、WebGPU和 WebNN等浏览器底层技术,让AI大模型在浏览器中运行得更快、更流畅。
二、能实现哪些功能?
LiteRT.js能够处理复杂的客户端AI任务,主要用于浏览器,涉及使用AI应用能力的场景。LiteRT.js能实现很多基于AI大模型的功能。
1.图片识别
比如,当用户在网页端上传图片后,系统自动识别图片内容、物体检测等功能。
2.人脸检测和图像分析
LiteRT.js可用于人脸检测、表情识别、人体姿态分析等功能。
3.OCR文字识别
可实现图片文字识别、图片文字提取、扫描文档内容解析等功能。
4.AI语义分析
对文本内容,可实现AI语义分析、文本归类、内容检测等功能。
5.AI助手
在Web应用中,可在浏览器中直接运行轻量级的AI大模型,实现浏览器端的AI助手。
6.视觉实时处理
实时物体检测,视觉分析、视觉替换等。
7.多媒体处理
音视频处理,实时音频降噪、语音转文字、图像超分辨率处理等。
8.其他AI功能
可结合AI大模型能力,实现各种AI功能。
三、有哪些优势?
1.保护用户隐私
传统的AI在使用时,需要我们将个人数据提交给AI,即上传到AI公司的服务器,数据存在安全隐患和泄露风险。但如果使用LiteRT.js的相关AI功能时,不管是读取数据还是分析,数据是保留在用户本地的。
2.降低算力成本
如果大量用户使用开放的AI功能,服务器(网站/小程序/APP服务)的压力会非常大,需要大量的CPU和GPU算力。而如果使用LiteRT.js,则是将部分计算转移到了用户浏览器自身,由用户自身的设备完成AI计算,大大降低了服务器的算例成本。
3.减少网络延迟
以前的模式是用户发起数据请求,等待服务器进行计算和处理后再返回数据给用户,这个过程受到网络通信速率的影响,在某些情况下可能会收到一些网络延迟。使用LiteRT.js,则是可以将部分业务交由用户本地完成,无需再向服务端发起请求,大大减少了网络延迟,提升了用户体验。
四、如何使用
使用条件
LiteRT.js运行的性能,取决于每个用户端的性能(电脑、移动设备等),涉及的硬件加速器(WebGPU和浏览器)必须满足特定条件。
硬件:
用户端设备需要独立显卡或集成GPU的主板芯片。
浏览器:
Chrome和Microsoft Edge 113版本及以上。
Safari 17.4版本及以上。
Firefox 12版本及以上。
WebNN要求:
基于Chromium 121版本以上的浏览器(如Chrome、Edge)开启实验性支持。
浏览器中启用JavaScript承诺集成(JSPI)。
操作系统:
Windows:需要支持DirectML的DirectX 12硬件。
MacOS:需要有Apple Silicon(苹果硅芯片)。
Linux:需要OpenVINO配置。
使用方法
安装LiteRT.js
LiteRT.js的使用非常简单,首先需要在项目(前端)中安装LiteRT.js
npm install @litertjs/core或是通过html的方式引入
加载模型
import {loadLiteRt, getWebGpuDevice} from 'https://cdn.jsdelivr.net/npm/@litertjs/core@2.5.0/+esm';
import {runWithTfjsTensors} from 'https://cdn.jsdelivr.net/npm/@litertjs/tfjs-interop@2.5.0/+esm';
// TensorFlow.js imports
import * as tf from 'https://cdn.jsdelivr.net/npm/@tensorflow/tfjs/+esm';
import {WebGPUBackend} from 'https://cdn.jsdelivr.net/npm/@tensorflow/tfjs-backend-webgpu/+esm';
async function main() {
// Initialize TensorFlow.js WebGPU backend
await tf.setBackend('webgpu');
// Initialize LiteRT.js's Wasm files
await loadLiteRt('https://cdn.jsdelivr.net/npm/@litertjs/core/wasm/');
// Make TFJS use the same GPU device as LiteRT.js (for tensor conversion)
const device = getWebGpuDevice();
tf.removeBackend('webgpu');
tf.registerBackend('webgpu', () => new WebGPUBackend(device, device.adapterInfo));
await tf.setBackend('webgpu');
// ...
}
main();使用WebGPU图形加速
import {loadLiteRt, loadAndCompile} from 'https://cdn.jsdelivr.net/npm/@litertjs/core/+esm';
await loadLiteRt('https://cdn.jsdelivr.net/npm/@litertjs/core/wasm/');
const model = await loadAndCompile('path_to_model.tflite', {
accelerator: 'webgpu',
});使用WebNN加速加载
import {loadLiteRt, loadAndCompile} from 'https://cdn.jsdelivr.net/npm/@litertjs/core/+esm';
// Ensure JSPI is passed true to bridge asynchronous WebNN drivers
await loadLiteRt('https://cdn.jsdelivr.net/npm/@litertjs/core/wasm/', {jspi: true});
const model = await loadAndCompile('path_to_model.tflite', {
accelerator: 'webnn',
webNNOptions: {devicePreference: 'npu'} // Targets dedicated neural silicon
});五、开发建议
1.目前LiteRT.js的生态还没有完全成熟,自己学习研究可以,但如果是企业生产项目,则明显使用TensorFlow.js会更加稳定和成熟。
2.可以直接访问Google LiteRJ.js官方文档或GitHub库,查看最新的API参考和相关Demo。
最近有同学咨询丁老师,开发的微信小程序,突然不能定位了。刚开始以为是程序故障,调试后发现一切正常,这是怎么回事呢?丁老师沟通后,得知具体情况如下:1.使用的是wx.getLocation和wx.getFuzzyLocation接口,两个...
有同学咨询,使用的是宝塔面板,现在需要给网站增加一个Mime类型(如mjs),在宝塔中找了很久也没找到可以设置的地方,请问丁老师这个功能该如何增加呢?今天丁老师分享给大家。Mime类型,是指网站可以浏览和下载的文件类型,Mime类型的设...
最近网络形势很严峻,很多网站要么感染木马病毒,要么是被黑客攻击,很大一部分都是通过网站的上传入口进行渗透,伪造合法文件,上传包含php、html、js等脚本文件,然后远程执行进行破坏。为了解决这个问题,一方面是在程序端上传文件部分进行文...
本文旨在介绍,通过微信小程序,实现点击后跳转到微信个人视频号主页,适用于个人视频号营销,视频号引流。跳转到视频号主页:wx.openChannelsUserProfile({ finderUserName: "你的视频号ID&...
普通账号个人认证号企业认证号蓝色认证标识薯条推广聚光平台效果广告普通应商业合作以KOL/KOC身份和品牌合作以品牌方身份发起起合作开设店铺个人店铺或个体户(不支持港澳台公司申请)旗舰店店或专卖店(支持港澳台公司申请)主动私信每天10位陌生用...
最近要在某单位内网部署项目,使用了lnmp来配置环境,软件安装成功,可安装后不管是打开ip地址还是默认站点,都提示nginx 403 forbidden,这是怎么回事呢?首先,已经出现了nginx 403提示,说明nginx是安装正常的。其...
上一期我们讲到了《微信小程序发布后多久可以能被搜索到?》,我们已经知道了微信小程序在上架后,多久能被搜索到的一个时间范围。本期我们讲一下,微信小程序被搜索,如何提升排名,是搜索结果靠前的方法。首先,微信小程序的搜索结果排名,并没有一个固定的...
二维码码有三个参数: 数据类型、大小(“像素 ”数)和纠错级别。能存储多少信息也取决于这些参数。例如,纠错级别越低,可存储的信息越多,但代码越难被读者识别。最大尺寸和最小纠错值如下:最大字符数 7089个字符(纯数字)字母数字 4296个字...