window.ai 开启你的内置AI之旅

成功是得你所想,幸福是享你所得

大家好,我是柒八九。一个专注于前端开发技术/RustAI应用知识分享Coder

此篇文章所涉及到的技术有

  1. AI( Gemini Nano)
  2. Chrome
  3. Ollama

因为,行文字数所限,有些概念可能会一带而过亦或者提供对应的学习资料。请大家酌情观看。


前言

在几天在AI赋能前端:你的Chrome 控制台需要AI(爱)中我们介绍了如何在ChromeDevTool开启AI功能,来帮助我们更好的识别在DevTool-Console中显示的警告Warning)和错误Error)。

其中,当我们介绍如何配置AI功能时,我们提到了一个Plan B方案,就是在升级Chrome还无法开启AI功能时,我们可以选择下载一个Chrome Dev[1],这是一款开发者专用的 Google Chrome

alt

并且在行文中提到,我们下载了Chrome Dev浏览器,我们还可以使用window.ai的最新功能。

alt

这也意味着

我们不仅可以在Devtool-Console中使用AI,而且还可以在代码中使用AI

所以,今天我们就来聊聊这个话题。


好了,天不早了,干点正事哇。

alt

我们能所学到的知识点

  1. 环境配置
  2. AI的初体验
  3. UI界面
  4. 问题解答

1. 环境配置

需要登录Google账号,未登录状态或者游客模式是无法使用内置AI的,关于如何申请一个Google账号,可以看我们上一篇文章AI赋能前端:你的Chrome 控制台需要AI(爱)

硬件要求

由于启动内置AI功能需要很多内存和资源,所以只有在桌面版的Chrome才能开启该项功能。也就是移动端的Chrome还无法体验该功能。

虽然,我们可以在桌面端的Chrome来体验内置AI。但是,要想上手它,还是需要一定的硬实力的。

  • 操作系统
    • Windows(10,11)
    • MacOS(≥13)
    • Linux
  • 存储空间
    • 至少需要 22 GB 的存储空间
  • GPU
    • 集成 GPU 或独立 GPU(如显卡)
  • VRAM
    • 4 GB(最低)

下载Chrome浏览器

在官方文档中,有两种浏览器可以开启AI功能。

  1. Chrome Canary [2]:开发者专用的每日构建版
  2. Chrome Dev [3]:开发者专用的版本

上面两个浏览器任意下载一个即可,如果你之前就下载过对应的浏览器,别忘记将浏览器升级到最新版本。因为,只有Chrome版本大于等于 128.0.6545.0.才有AI功能。

我本机Chrome Dev 版本
我本机Chrome Dev 版本

然后,有些不信邪的小伙伴就用自己的Chrome进行测试,发现压根不存在window.ai的信息,如果你在控制台输出window.ai那么迎接你的就是undefined嘲讽。

因为,我们平时开发所用的chrome最新的版本才是126+

截图于2024-7-4日
截图于2024-7-4日

开启配置

通过以上步骤,我们已经下载了最新的Chrome。但是,想要开启AI功能,我们还需要对Chrome进行配置。

我们可以在输入框中输入chrome://flags/#optimization-guide-on-device-model,然后选择Enabled BypassPerfRequirement选项,此配置可以绕过性能检查(可能会阻止我们设备上下载 Gemini Nano

随后输入chrome://flags/#prompt-api-for-gemini-nano,并选择Enabled

alt

配置后,对应的信息如上所示。

最后,最后,我们重启Chrome

手动下载 Gemini Nano

有时候,重启大法是能解决一下问题的。但是,它也不是啥万能大法。所以,当我们按照上面的指示重启Chrome后,发现我们还无法使用AI,那我们就需要手动下载 Gemini Nano

在重启Chrome无果后,我们可以新开一个标签页,并且输入chrome://components

chrome://components/Chrome 浏览器中的一个内部页面,用于管理和查看 Chrome 组件的状态和版本。通过访问这个页面,我们可以看到浏览器中各种组件的列表,包括每个组件的当前版本号。如果某些组件需要更新,我们可以在这里手动检查并触发更新。

此时,我们就会看到各种组件信息。此时,我们比较关心的就是Optimization Guide On Device Model

alt

可以看到,它此时的版本是0,也就意味着我们本机上没有安装此组件。

那么,我们就可以通过检查是否有更新来更新它。这个下载过程也比较慢,还需要耐心等待。 alt

当出现如下的信息时,就说明我们下载完成了,此时我们下载的版本为2024.6.5.2205。根据官网的指导,只要版本大于2024.5.21.1031即可开启AI功能。 alt

验证模型是否可行

既然,我们按照官方的指导按照了模型,我们可以通过在控制台输入 await window.ai.canCreateTextSession();来验证模型是否生效。

根据模型下载情况,对应的结果会有三种:

  1. readily:模型在设备上可用,因此创建会话会很快发生
  2. after-download:模型在设备上不可用,但设备有能力创建会话,创建会话将启动下载过程(这可能需要一些时间)
  3. no:模型不适用于此设备。

如果在控制台输入为readily,那么恭喜你,你可以在Chrome中使用内置AI了。


2. AI的初体验

通过上一节的操作,我们已经具备了在Chrome本地运行AI的能力。

此时,我们可以在window对象上看到对应的信息。

alt

让我们来通过几个例子来了解一下它的能力。

非联网时可运行

之前我们就说过,Chrome内置AI是一个完全本地化的模型。像Ollama[4]一样,通过在本机下载对应的模型来实现模型的本地化运行。

其实,针对Chrome内置AI,也是相同的道理,只不过我们不是用Ollama而是我们用Chrome作为模型容器,然后下载对应的AI模型(Gemini Nano)。从而实现Gemini本地化运行。

alt

AI能力展示

我们在DevTool-Sources-Snippet中验证代码,这样可以有更好的书写体验。

一次性返回结果

const canCreate = await window.ai.canCreateTextSession();

if (canCreate !== "no") {
  const session = await window.ai.createTextSession();
  const result = await session.prompt("Write me a poem");
  console.log(result);
}

我们将上述代码输入对应位置。然后点击右侧的运行,就会看到如下结果。

alt

流式输出

OpenAI等模型,都支持流式输出,而内置AI也同样支持。

我们可以使用session.promptStreamingAPI来获取对应的数据信息。

alt

支持中文

我们也可以通过向prompt中提供非英文的提示信息,来获取对应的数据。

alt

翻译文本

alt

3. UI界面

像上一节中,我们只是通过window.aiAPI来使用能力。有的朋友就会想,我们是否有对应的UI界面来直接允许内置AI

嘿,你还真别说,还真有。

这里提供两个比较好的,当然我们也可以基于window.ai自行搭建一个AI界面。

ChromeAI

chromeai[5] 然后,我们就可以像使用OpenAI一样询问一下有趣的问题。 alt

chrome-ai

chrome-ai[6]

alt

4. 问题解答

alt

虽然,有些场景Chrome内置AI的能力有些鸡肋,但是如果Chrome如果将此功能真正的嵌入到真实环境,在某些例如文本翻译/文本总结等需求中,AI会有更好的体验感。


后记

分享是一种态度

全文完,既然看到这里了,如果觉得不错,随手点个赞和“在看”吧。

alt
Reference
[1]

Chrome Dev: https://www.google.com/chrome/dev/

[2]

Chrome Canary: https://www.google.com/chrome/canary/

[3]

Chrome Dev: https://www.google.com/chrome/dev/

[4]

Ollama: https://ollama.com/

[5]

chromeai: https://chromeai.org/

[6]

chrome-ai: https://chrome-ai.cc/zh

本文由 mdnice 多平台发布

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/369665.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

使用ChatGPT写论文,只需四步突破论文写作瓶颈!

欢迎关注,为大家带来最酷最有效的智能AI学术科研写作攻略。关于使用ChatGPT等AI学术科研的相关问题可以和作者七哥(yida985)交流 地表最强大的高级学术AI专业版已经开放,拥有全球领先的GPT学术科研应用,有兴趣的朋友可…

如何在 SwiftUI 中熟练使用 sensoryFeedback 修饰符

文章目录 前言背景介绍平台支持仅支持watchOS支持watchOS和iOS 基本用法预定义样式根据触发器值选择样式使用场景当值更改时触发使用条件闭包触发使用反馈闭包触发 可以运行 Demo总结 前言 SwiftUI 引入了新的 sensoryFeedback 视图修饰符,使我们能够在所有 Apple …

【华为战报】5月、6月HCIP考试战报!

华为认证:HCIA-HCIP-HCIE 点击查看: 【华为战报】4月 HCIP考试战报! 【华为战报】2月、3月HCIP考试战报! 【华为战报】11月份HCIP考试战报! 【HCIE喜报】HCIE备考2个月丝滑通关,考试心得分享&#xff…

推荐3款Windows系统的神级软件,免费、轻量、绝对好用!

DiskView DiskView是一款用于管理和查看磁盘空间的工具,它集成了于微软的Windows操作系统资源管理器中,以显示直观的磁盘空间使用情况。该软件通过生成图形化地图,帮助用户组织和管理大量文件和文件夹,从而高效地管理磁盘空间。用…

鸿蒙笔记导航栏,路由,还有axios

1.导航组件 导航栏位置可以调整,导航栏位置 Entry Component struct t1 {build() {Tabs(){TabContent() {Text(qwer)}.tabBar("首页")TabContent() {Text(发现内容)}.tabBar(发现)TabContent() {Text(我的内容)}.tabBar("我的")}// 做平板适配…

Linux_共享内存通信

目录 1、共享内存原理 2、申请共享内存 2.1 ftok 2.2 测试shmget、ftok 2.3 查看系统下的共享内存 3、关联共享内存 3.1 测试shmat 4、释放共享内存 4.1 测试shmctl 5、实现共享内存通信 6、共享内存的特性 结语 前言: 在Linux下,有一…

解决前后端同一个端口跨域问题

前端起了一个代理 如果url是api开头的自动代理访问8080端口(解决前后端端口不一致要么是前端代理,要么是后端加过滤器) proxy:{/api:{target:http://localhost:8080,changeOrigin : true,// 替换去掉路径上的api// rewrite:(path)>path.r…

【信息学奥赛】CSP-J/S初赛07 排序算法及其他算法在初赛中的考察

本专栏👉CSP-J/S初赛内容主要讲解信息学奥赛的初赛内容,包含计算机基础、初赛常考的C程序和算法以及数据结构,并收集了近年真题以作参考。 如果你想参加信息学奥赛,但之前没有太多C基础,请点击👉专栏&#…

生产力工具|viso常用常见科学素材包

一、科学插图素材网站 一图胜千言,想要使自己的论文或重要汇报更加引人入胜?不妨考虑利用各类示意图和科学插图来辅助研究工作。特别是对于新手或者繁忙的科研人员而言,利用免费的在线科学插图素材库,能够极大地节省时间和精力。 …

信创-办公软件应用工程师认证

随着国家对信息技术自主创新的战略重视程度不断提升,信创产业迎来前所未有的发展机遇。未来几年内,信创产业将呈现市场规模扩大、技术创新加速、产业链完善和国产化替代加速的趋势。信创人才培养对于推动产业发展具有重要意义。应加强高校教育、建立人才…

适用于 Windows 11/10/8/7/Vista/XP 的最佳免费分区软件

无论您使用的是 SSD、机械磁盘还是任何类型的 RAID 阵列,硬盘驱动器都是 Windows 计算机中不可或缺的组件。在将文件保存到全新磁盘之前,您应该初始化它,创建分区并使用文件系统格式化。在运行计算机一段时间后,您需要收缩、扩展、…

基于深度学习的图像背景剔除

在过去几年的机器学习领域,我一直想打造真正的机器学习产品。 几个月前,在参加了精彩的 Fast.AI 深度学习课程后,似乎一切皆有可能,我有机会:深度学习技术的进步使许多以前不可能实现的事情成为可能,而且开…

Ubuntu DNS服务配置 深度解析

测试方法 resolvectl status dig alidns.com 修改实践 直接用接口配置,没用 /etc/resolv.conf,有效 /etc/netplan/01-network-manager-all.yaml,无效 /etc/systemd/resolved.conf,见link,为全局配置 [Resolve] DNS1.1.1.1 Fa…

Rufus 制作启动盘 | 便携的工作空间

唠唠闲话 最近服务器硬盘故障多,在修复过程中,学习了一些操作,这里做个记录。本期主要介绍 U盘启动盘的制作,以及持久化存储。 U 盘启动盘 镜像选择 Ubuntu 的版本命名遵循 “Adjective Animal” 的模式,即 “形容…

【Linux进阶】磁盘分区3——目录树,挂载

Linux安装模式下,磁盘分区的选择(极重要) 在Windows 系统重新安装之前,你可能会事先考虑,到底系统盘C盘要有多大容量?而数据盘D盘又要给多大容量等,然后实际安装的时候,你会发现其实…

二重积分 - 包括计算方法和可视化

二重积分 - 包括计算方法和可视化 flyfish 计算在矩形区域 R [ 0 , 1 ] [ 0 , 2 ] R [0, 1] \times [0, 2] R[0,1][0,2] 下,函数 z 8 x 6 y z 8x 6y z8x6y 的二重积分。这相当于计算曲面 z 8 x 6 y z 8x 6y z8x6y 与 xy 平面之间的体积。 二重积分…

Windows 11内置一键系统备份与还原 轻松替代Ghost

面对系统崩溃、恶意软件侵袭或其他不可预见因素导致的启动失败,Windows 7~Windows 11内置的系统映像功能能够迅速将您的系统恢复至健康状态,确保工作的连续性和数据的完整性。 Windows内置3种备份策略 U盘备份:便携且安全 打开“创建一个恢…

AI与测试相辅相成

AI助力软件测试 1.AI赋能软件测试 使用AI工具来帮助测试人员提高测试效率,提供缺陷分析和缺陷预测。 语法格式 设定角色 具体指示 上下文格式 例: 角色:你是一个测试人员 内容:请帮我生成登录案例的测试用例 ​ 1.只有输入正确账号和密码才…

重载一元运算符

自增运算符 #include<iostream> using namespace std; class CGirl { public:string name;int ranking;CGirl() { name "zhongge"; ranking 5; }void show() const{ cout << "name : "<<name << " , ranking : " <…

LeetCode热题100刷题3:3. 无重复字符的最长子串、438. 找到字符串中所有字母异位词、560. 和为 K 的子数组

3. 无重复字符的最长子串 滑动窗口、双指针 class Solution { public:int lengthOfLongestSubstring(string s) {//滑动窗口试一下//英文字母、数字、符号、空格,ascii 一共包含128个字符vector<int> pos(128,-1);int ans 0;for(int i0,j0 ; i<s.size();i) {//s[i]…