Published: December 12, 2024, Last updated: May 20, 2025
借助内置 AI API,您的 Web 应用可以 执行 AI 驱动的任务,而无需部署或管理自己的 AI 模型。 我们正在努力将这些 API 标准化,以便它们可以在所有浏览器中运行。
要求
如需使用内置 AI,您需要满足模型和硬件要求。
模型
Translator API 和 Language Detector API 使用专家模型。所有其他 API 都使用语言模型,这些模型旨在在桌面设备和笔记本电脑上本地运行。
Summarizer API、Writer API、Rewriter API 和 Proofreader API 仅支持文生文模态。Prompt API 具有多模态功能。
Chrome 中的 Gemini Nano
Chrome 使用 Gemini Nano 语言模型。Gemini Nano 不适用于移动设备。
从 Chrome 140 开始,Gemini Nano 支持英语、西班牙语和日语作为输入和输出文本。
在使用内置 AI API 之前,请确认您已了解 Google 的《生成式 AI 使用限制政策》。
硬件
对于开发者以及在 Chrome 中使用这些 API 运行功能的用户,存在以下要求。其他浏览器可能有不同的运行要求。
Language Detector 和 Translator APIs 可在桌面版 Chrome 中运行。这些 API 不适用于移动设备。
在满足以下条件时,Prompt API、Summarizer API、Writer API、Rewriter API 和 Proofreader API 可在 Chrome 中运行:
- 操作系统:Windows 10 或 11;macOS 13+(Ventura 及更高版本); Linux;或 Chromebook Plus 设备上的 ChromeOS(平台 16389.0.0 及更高版本)。 Chromebook Plus 设备。 使用 Gemini Nano 的 API 尚不支持非 Chromebook Plus 设备上的 Android 版 Chrome、iOS 版 Chrome 和 ChromeOS 版 Chrome 。
- 存储空间:包含 Chrome 个人资料的卷上至少有 22 GB 的可用空间。
- GPU 或 CPU:内置模型可以使用 GPU 或 CPU 运行。
- GPU:VRAM 严格超过 4 GB。
- CPU:RAM 16 GB 或更多,CPU 核心数 4 个或更多。
- 注意:使用音频输入的 Prompt API 需要 GPU。
- 网络:无限流量或不按流量计费的连接。 Wi-Fi 和以太网连接默认情况下往往不按流量计费 ,而移动网络连接通常按流量计费 。
随着浏览器更新模型,Gemini Nano 的确切大小可能会有所不同。如需确定当前大小,请访问 chrome://on-device-internals。
开始构建
在 不同的开发阶段,有多种内置 AI API 可供使用。有些 API 位于 Chrome 稳定版中,有些 API 可供 源试用参与者使用,还有一些 API 仅供 Early Preview Program 参与者使用。
每个 API 都有自己的一组说明,用于开始使用和下载模型,包括本地原型设计和在生产环境中使用源试用。
- Translator API
- Language Detector API
- Summarizer API
- Writer API 和 Rewriter API
- Proofreader API
- Prompt API
构建 Chrome 扩展程序时,可以使用所有这些 API。
模型下载
API 内置于 Chrome 中,模型也是如此。用户首次与这些 API 互动时,必须将模型下载到浏览器。
如需确定 API 是否可用且已准备就绪,请调用异步 availability() 函数,该函数会返回一个 Promise,其中包含以下值之一:
"unavailable":用户的设备或请求的会话选项不受 支持。设备可能电量不足或磁盘空间不足。"downloadable":创建会话需要额外下载,其中 可能包括专家模型、语言模型或微调。 用户激活可能需要调用create()。"downloading":下载正在进行中,必须先完成下载,然后才能使用 会话。"available":您可以立即创建会话。
某些 API 在调用可用性时需要其他选项。例如, Prompt API 需要声明语言支持:
// Makes sure the model is available for English and Japanese.
await LanguageModel.availability({ languages: ["en", "ja"] });
用户激活
如果设备可以支持内置 AI API,但模型尚未下载,用户必须与您的网页进行有意义的互动,您的应用才能使用 create() 启动会话。
使用 UserActivation.isActive
属性确认用户自网页
加载完毕后是否直接与网页互动过。这可以包括点按、点击、按键、mousedown 或
其他 粘性激活事件。
// Check for user activation.
if (navigator.userActivation.isActive) {
// Create an instance of a built-in API
}
例如,对于 Summarizer API,您可以
要求用户与一个显示“Summarize”的按钮互动,以激活
Summarizer.create(),或者您可以在用户开始
输入内容后(即发生 keydown 事件后)创建摘要器。
在 localhost 上使用 API
所有 API 都可在 Chrome 中的 localhost 上使用。
- 前往
chrome://flags/#optimization-guide-on-device-model。 - 选择已启用 。
- 点击重新启动 或重新启动 Chrome。
对于使用 Gemini Nano 的 API,您还必须将 chrome://flags/#prompt-api-for-gemini-nano 设置为已启用 或已启用多语言 。您可以在开发者工具控制台中确认模型已下载并按预期运行。在控制台中运行 await LanguageModel.availability();。
排查 localhost 问题
如果标志未显示在 chrome://flags 中,请确保您已下载
最新版本的 Chrome。
如果模型未按预期运行,请按以下步骤操作:
- 重新启动 Chrome。
- 前往
chrome://on-device-internals。 - 选择模型状态 标签页,并确保没有错误。
- 打开开发者工具,然后在控制台中输入
LanguageModel.availability();。这应返回available。
如有必要,请等待一段时间,然后重复这些步骤。
标准流程
我们正在努力将这些 API 标准化, 以便它们可以在所有浏览器中运行。这意味着我们已向 Web 平台社区提议这些 API,并将其移至 W3C Web Incubator Community Group以供进一步讨论。
我们正在向 W3C、Mozilla 和 WebKit 请求针对每个 API 的反馈。
参与互动并分享反馈
如果您试用了内置 AI 并有反馈,我们很乐意倾听您的意见。
- 了解所有内置 AI API。
- 加入 Early Preview Program,抢先体验新 API 并访问我们的邮件列表。
- 如果您对 Chrome 的实现有反馈,请提交 Chromium bug。
- 了解 Web 标准。