开始使用内置 AI

Alexandra Klepper
Alexandra Klepper

发布时间:2024 年 12 月 12 日,上次更新时间:2025 年 5 月 20 日

借助内置 AI API,您的 Web 应用可以执行 AI 赋能的任务,而无需部署或管理自己的 AI 模型。我们正在努力将这些 API 标准化,以便它们可以在各种浏览器中使用。

必需模型

Translator API 和 Language Detector API 使用专家模型。所有其他 API 都使用语言模型,该模型旨在在桌面设备和笔记本电脑上本地运行。

Summarizer API、Writer API、Rewriter API 和 Proofreader API 仅支持文生文模态。Prompt API 具有多模态功能。

Chrome 模型

Chrome 使用专家语言模型和基础语言模型。这些模型在移动设备上不可用。

从 Chrome 149 开始,这些模型支持英语、西班牙语、日语、德语和法语作为输入和输出文本。

所需硬件

对于开发者和在 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 设备。 使用基础模型的 API 尚不支持 Android 版 Chrome、iOS 版 Chrome 和非 Chromebook Plus 设备上的 ChromeOS 。
  • 存储空间:包含 Chrome 个人资料的卷上至少有 22 GB 的可用空间。
  • GPU 或 CPU:内置模型可以使用 GPU 或 CPU 运行。
    • GPU:VRAM 严格超过 4 GB。
    • CPU:至少 16 GB 的 RAM 和至少 4 个 CPU 核心。
    • 注意:使用音频输入的 Prompt API 需要 GPU。
  • 网络:无限流量或不按流量计费的连接。

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

开始构建

在 不同的开发阶段,有多个内置 AI API 可用。有些 API 位于 Chrome 稳定版中,有些 API 可供 源试用参与者使用,还有一些 API 仅供 早期预览版计划参与者使用。

每个 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 input text,
// supports image input, and can generate English output.
await LanguageModel.availability({
  expectedInputs: [{type: "text", languages: ["en", "ja"]}, {type: "image"}],
  expectedOutputs: [{type: "text", languages: ["en"]}],
});

用户激活

如果设备可以支持内置 AI API,但模型尚未 下载(即调用 availability() 返回 "downloadable" 或 "downloading" 时),用户必须与您的网页进行有意义的互动,您的应用才能使用 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 问题

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

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

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

标准流程

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

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

互动和分享反馈

如果您尝试使用内置 AI 并有反馈,我们非常乐意倾听。