開始使用內建 AI 技術

Alexandra Klepper
Alexandra Klepper

發布日期:2024 年 12 月 12 日,上次更新日期:2025 年 5 月 20 日

透過內建的 AI API,網頁應用程式可以執行 AI 輔助工作,無須部署或管理自己的 AI 模型。我們正努力為這些 API 制定跨瀏覽器的標準

需求條件

如要使用內建 AI,必須符合模型和硬體需求。

模型

Translator 和 Language Detector API 使用專家模型。所有其他 API 都使用語言模型,可在桌機和筆電上在本機執行。

Summarizer API、Writer API、Rewriter API 和 Proofreader API 僅支援文字對文字模式。提示 API 具備多模態功能

Chrome 內建 Gemini Nano

Chrome 使用 Gemini Nano 語言模型。Gemini Nano 不適用於行動裝置。

從 Chrome 140 版起,Gemini Nano 支援以英文、西班牙文和日文輸入及輸出文字。

使用內建 AI API 前,請先確認您已瞭解並同意《Google 生成式 AI 使用限制政策》。

硬體

開發人員和使用者在 Chrome 中透過這些 API 操作功能時,必須遵守下列規定。其他瀏覽器的操作規定可能不同。

語言偵測器Translator API 適用於電腦版 Chrome。這些 API 無法在行動裝置上運作。

在 Chrome 中,提示 API摘要 API撰寫 API重寫 API校對 API 必須符合下列條件才能運作:

  • 作業系統:Windows 10 或 11;macOS 13 以上版本 (Ventura 以上版本); Linux;或 Chromebook Plus 裝置上的 ChromeOS (自 Platform 16389.0.0 以上版本)。 使用 Gemini Nano 的 API 目前不支援 Android、iOS 和 ChromeOS 版 Chrome (非 Chromebook Plus 裝置)。
  • 儲存空間:包含 Chrome 設定檔的磁碟區至少要有 22 GB 的可用空間。
  • GPU 或 CPU:內建模型可透過 GPU 或 CPU 執行。
    • GPU:視訊記憶體必須超過 4 GB。
    • CPU:RAM 16 GB 以上,CPU 核心 4 個以上。
  • 網路:無限量數據或不計量的連線。

瀏覽器更新模型時,Gemini Nano 的確切大小可能會有所不同。如要判斷目前大小,請前往 chrome://on-device-internals

開始建構

在開發的不同階段,您可以使用多種內建的 AI API。部分功能已在 Chrome 穩定版推出,部分功能則僅供來源試用計畫參與者使用,其他功能則僅供搶先預覽計畫參與者使用。

每個 API 都有專屬的入門和模型下載說明,適用於本機原型設計,以及透過原始碼試用在實際工作環境中進行原型設計。

建構 Chrome 擴充功能時,可以使用所有這些 API。

下載模型

API 和模型都內建於 Chrome。使用者首次與這些 API 互動時,必須將模型下載至瀏覽器。

如要判斷 API 是否可用且已準備就緒,請呼叫非同步 availability() 函式,該函式會傳回含有下列其中一個值的 Promise:

  • "unavailable":使用者裝置或要求的工作階段選項不受支援。裝置的電量或磁碟空間可能不足。
  • "downloadable":建立工作階段時需要額外下載項目,可能包括專家模型、語言模型或微調。您可能需要啟用使用者,才能呼叫 create()
  • "downloading":下載作業正在進行中,必須完成才能使用工作階段。
  • "available":你可以立即建立工作階段。

呼叫可用性時,部分 API 需要額外選項。舉例來說,提示 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,要求使用者點選「摘要」按鈕來啟動 Summarizer.create(),也可以在使用者開始輸入內容時 (keydown 事件) 建立摘要工具。

在本機主機上使用 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 設為「已啟用」或「已啟用多國語言」。您可以在 DevTools 控制台中,確認模型已下載並正常運作。在控制台中執行 await LanguageModel.availability();

排解 localhost 問題

如果 chrome://flags 中未顯示旗標,請確認你已下載最新版 Chrome

如果模型無法正常運作,請按照下列步驟操作:

  1. 重新啟動 Chrome。
  2. 前往chrome://on-device-internals
  3. 選取「模型狀態」分頁標籤,確認沒有任何錯誤。
  4. 開啟開發人員工具,然後在控制台中輸入 LanguageModel.availability();。這應該會傳回 available

如有必要,請等待一段時間,然後重複上述步驟。

標準程序

我們正在為這些 API 制定標準,讓它們能在所有瀏覽器上運作。這表示我們已向網路平台社群提議使用這些 API,並將其移至 W3C Web Incubator Community Group,以供進一步討論。

我們正在向 W3C、Mozilla 和 WebKit 徵求各項 API 的意見。

參與討論及分享意見

如果您試用內建 AI 功能後有任何想法,歡迎與我們分享。