Chrome内蔵AI(Prompt API)の導入と初期セットアップ手順
ブラウザローカル環境で推論を完結させるための実行基盤構築と疎通確認手順
Chrome内蔵AIとは
Chrome内蔵AI(Prompt API)は、Google Chromeブラウザの中に組み込まれた小型AIモデルを手元のPC上で直接動かす仕組みである。ChatGPTなどのクラウドサービスにアクセスするのではなく、ブラウザ自体が持っている推論エンジンをJavaScriptから直接呼び出して利用する。手元のPCリソースを使ってブラウザ単体で処理が完結するため、特別なサーバーや外部サービスを用意する必要がない。
導入するメリット
- データを外部に送信せず、手元だけで処理が完結する:
入力したテキストや処理対象のデータが外部サーバーへ送信されない。社内文書や個人情報が絡むテキストを扱う場合でも、情報漏洩のリスクを気にせず手元で安全に処理できる。 - APIキーの管理や利用料金が一切かからない:
クラウドAPIを利用する際に必要なアカウント登録、クレジットカード設定、APIキーの厳重な管理、月々の従量課金が不要である。モデルさえ一度ダウンロードしてしまえば、完全オフラインの状態でもそのまま動作する。 - 自作のChrome拡張機能へ手軽に組み込める:
バックエンドサーバーの構築や認証処理を挟む必要がなく、ブラウザの標準的なJavaScriptコードだけで直接AIを呼び出せる。日常のブラウザ操作やちょっとした業務ルーティンを効率化する自作ツールに、最小限の手間でAI機能を追加できる。
セットアップの全体フロー
本機能は現在Chromeの試験運用フラグとして提供されている。以下の手順でブラウザ設定を行い、モデルの取得と疎通確認を進める。
Step 01 動作確認環境の確認
本手順の検証を行ったPCスペックおよびブラウザ環境の諸元。
Step 02 Flags の有効化
Chromeのフラグ設定を開き、Prompt APIを有効化して再起動する。
Step 03 モデル取得と検証
Console上でダウンロードを実行し、推論の疎通確認を行う。
1. 動作確認時の環境(実績値)
2026年10月26日時点で動作確認を行った環境の諸元は以下の通りである。専用グラフィックボード(dGPU)を持たない、内蔵GPU構成の一般的なノートPC環境における実績値となる。
| ブラウザ | Google Chrome 155.0.8059.86(Windows 64bit) |
|---|---|
| OS | Windows 11 |
| CPU / GPU | AMD Ryzen 7 7730U with Radeon Graphics(内蔵GPU / VRAM 496 MB) |
| メインメモリ(RAM) | 16.0 GB |
| ストレージ空き容量 | 264 GB(検証時の空き容量) |
2. Chrome Flags の設定(Chrome 155 仕様)
ブラウザの試験運用機能設定から、内蔵AIのAPI呼び出しを有効化する。
- 1フラグ画面の呼び出し
アドレスバーにchrome://flagsを入力してEnterキーを押す。 - 2対象フラグの検索
最上部の検索欄にpromptまたはprompt-apiと入力する。 - 3機能の有効化
表示された Prompt API(#prompt-api)右側のセレクトボックスを Enabled に変更する。 - 4ブラウザの再起動
画面右下に表示される Relaunch ボタンを押下し、Chromeを再起動して設定を反映させる。
3. モデルのダウンロードと疎通確認(DevTools)
フラグを有効化した直後は、ローカルストレージ内にAIモデル実体(約1.5GB〜2GB)が存在しない。デベロッパーツール(DevTools)のConsoleからAPIを呼び出し、モデルの初回ダウンロードと推論テストを実行する。
- 1任意のWebページで F12 キー(Macは Cmd + Option + I)を押し、「Console」タブを選択する。
- 2以下のスクリプトをコピーしてコンソールへ貼り付け、Enterキーで実行する。
console.log("モデルの状態を確認中...");
// 1. APIの存在確認
if (typeof LanguageModel === "undefined") {
console.error("LanguageModel APIが見つかりません。chrome://flags を確認してください。");
} else {
// 2. 利用可能性の照会
const status = await LanguageModel.availability({
expectedInputs: [{ type: "text", languages: ["ja"] }],
expectedOutputs: [{ type: "text", languages: ["ja"] }]
});
console.log("現在のステータス:", status); // 最初は 'downloadable' になる
// 3. ダウンロードのトリガーと進捗監視
console.log("ダウンロードを開始します(約1.5GB〜2GB)...");
const session = await LanguageModel.create({
initialPrompts: [
{ role: "system", content: "あなたは親切なAIアシスタントです。日本語で回答してください。" }
],
monitor(m) {
m.addEventListener("downloadprogress", (e) => {
console.log(`ダウンロード進捗: ${Math.round(e.loaded * 100)}%`);
});
}
});
// 4. テスト推論の実行
console.log("ダウンロード完了。推論テストを実行します...");
const response = await session.prompt("自己紹介を日本語で1文でしてください。");
console.log("AIの返答:\n", response);
// 5. リソース解放
session.destroy();
}実行結果と技術的挙動
- 初回ダウンロード処理:
初回実行時はコンソールに進捗状況(ダウンロード進捗: XX%)が出力される。進捗が100%に達すると自動的にテスト推論が行われ、AIからの回答テキストが返却される。 - 完了後のステータス遷移:
一度ダウンロードが完了すると、LanguageModel.availability()はavailable(またはreadily)を返すようになる。以降はオフライン環境下であっても即座にローカル推論セッションが起動する。 - メモリ管理の実装要件:
ローカルLLMはシステムメモリを占有するため、推論終了時はsession.destroy()を明示的に実行し、不要になったセッションを破棄してメモリリークを防ぐ必要がある。
e-Shikumi-labo