开始使用内置 AI

Alexandra Klepper
Alexandra Klepper

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 DetectorTranslator APIs 可在桌面版 Chrome 中运行。这些 API 不适用于移动设备。

在满足以下条件时,Prompt APISummarizer APIWriter APIRewriter APIProofreader 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。
  • 网络:无限流量或不按流量计费的连接。

随着浏览器更新模型,Gemini Nano 的确切大小可能会有所不同。如需确定当前大小,请访问 chrome://on-device-internals

开始构建

在 不同的开发阶段,有多种内置 AI API 可供使用。有些 API 位于 Chrome 稳定版中,有些 API 可供 源试用参与者使用,还有一些 API 仅供 Early Preview Program 参与者使用

每个 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 上使用。

  1. 前往 chrome://flags/#optimization-guide-on-device-model
  2. 选择已启用
  3. 点击重新启动 或重新启动 Chrome。

对于使用 Gemini Nano 的 API,您还必须将 chrome://flags/#prompt-api-for-gemini-nano 设置为已启用已启用多语言 。您可以在开发者工具控制台中确认模型已下载并按预期运行。在控制台中运行 await LanguageModel.availability();

排查 localhost 问题

如果标志未显示在 chrome://flags 中,请确保您已下载 最新版本的 Chrome

如果模型未按预期运行,请按以下步骤操作:

  1. 重新启动 Chrome。
  2. 前往 chrome://on-device-internals
  3. 选择模型状态 标签页,并确保没有错误。
  4. 打开开发者工具,然后在控制台中输入 LanguageModel.availability();。这应返回 available

如有必要,请等待一段时间,然后重复这些步骤。

标准流程

我们正在努力将这些 API 标准化, 以便它们可以在所有浏览器中运行。这意味着我们已向 Web 平台社区提议这些 API,并将其移至 W3C Web Incubator Community Group以供进一步讨论。

我们正在向 W3C、Mozilla 和 WebKit 请求针对每个 API 的反馈。

参与互动并分享反馈

如果您试用了内置 AI 并有反馈,我们很乐意倾听您的意见。