今年 (2026) 2 月,Google 開始陸續推出讓用戶可在 Chrome 設定中輕鬆關閉並移除模型的功能
一旦停用後,模型便不會進行下載或更新,這不就代表,有些電腦如果使用 Chrome 我就可以在裡面調用模型?
這時候就可以在一些環境下使用模型來做一些事情,當然你電腦要有一定等級..
簡單來說,就是 Chrome 會在符合條件的電腦上下載一個由瀏覽器管理的小型語言模型
網頁可以直接透過 JavaScript 呼叫,不需要 API Key,也不需要自己安裝 Ollama
而且模型推論是在使用者的電腦上執行,模型下載完成後,即使沒有網路也可以繼續使用
官方也表示,使用內建模型進行推論時,輸入內容不會傳送到 Google 或第三方。
一開始我以為這只是 Chrome 自己內部使用,後來實際測試才發現,網頁真的可以直接使用..
這類 API 目前可以透過:
LanguageModel
直接建立模型 Session,先提醒一下,Chrome 內部實際使用的模型會由瀏覽器管理
開發者不能指定 GGUF,也不能選擇 Gemma、Qwen 或 Llama
所以它比較像 Chrome 提供的一個 AI 能力,不是一個可以自由更換模型的推論框架,但目前拿來在client 做一些簡單的資料處理還蠻有用的
1. 首先判斷用戶的 Chrome 是不是有模型可以用
//先確認 LanguageModel 是否存在:
if (!("LanguageModel" in window)) {
console.log("目前 Chrome 不支援內建模型");
}
//接著檢查模型狀態:
const status = await LanguageModel.availability();
console.log(status);
//可能回傳:
//available
//downloadable
//downloading
//unavailable
//完整一點可以寫成:
async function checkModel() {
if (!("LanguageModel" in window)) {
return "api-missing";
}
return await LanguageModel.availability();
}
const status = await checkModel();
console.log(status);
//available 代表可以直接使用。
//downloadable 代表支援,但 Chrome 還需要先下載模型。
//unavailable 則代表目前的 Chrome、硬體或執行環境不能使用。2. 最小的可呼叫範例
const session = await LanguageModel.create();
const result = await session.prompt(
"Reply with exactly: Hello Chrome AI"
);
console.log(result);
session.destroy();
//prompt() 回傳的是字串:string
//不是 string[]。
//如果需要串流輸出,可以改用:
const session = await LanguageModel.create();
const stream = session.promptStreaming(
"請用三點說明本機 AI 的優點"
);
for await (const chunk of stream) {
console.log(chunk);
}這我提供一個我自己測試的完整範例,如果想要請 AI 改寫或是學習請自行取用
https://donma.github.io/Miscellaneous/chrome-built-in-ai-test.html
簡單結論一下
Chrome 內建模型目前還不能取代 Ollama,也不能自由選擇模型
但是如果只是想在網頁裡加上分類、摘要或文字整理功能,不需要 API Key,也不用自己架模型服務,確實很方便
正式使用時還是要先檢查:
await LanguageModel.availability()
不能假設所有 Chrome 都一定支援,然後如果是在 iframe 中是不能使用的
所以限制也蠻多的,至於其他應用程式,假設我用 webview2 去呼叫是不是可以用呢?
改天來測看看,我覺得應該是可以,不過這就是後話了有機會再測試,但是本機就有一個小模型無腦用,這樣有時候再 client
就可以處理一些小任務,並不一定要傳回 server 交給大模型去處理...
---
The bug existed in all possible states.
Until I ran the code.
