🌠
Chrome内臓ローカルLLMのGemini NanoをノートPCで使ってみた
はじめに
Google I/O 2024で発表されたChromeでローカル上で動かせるLLM Gemini Nanoをノートパソコンに入れて少し遊んでみたので共有します。
マシンのスペックは2020年モデルのMacBook ProでCPUは第8世代のCore i5ですが、意外と快適に動きました。
こちらのイベントで存在を知りました!
構築手順
-
Chrome Release ChannelsにてChrome Canaryをインストールします。
2024年8月22日のアップデートで最新版Chromeに標準で搭載されたのでこの作業はスキップしてください
Chromeには4つのタイプがあります。- 通常の Chrome
- Chrome Beta これは開発途中の新機能などが搭載されている。
- Chrome Dev これはbetaよりさらにもう一歩手前のバージョンです。
- Chrome Canary これはdevバージョンのさらに前のもので開発者用とも言われます。
https://www.chromium.org/getting-involved/dev-channel/
- 「chrome://flags/」から以下の項目を設定して、Chromeを再起動します。
- Enables optimization guide on device:
Enabled BypassPerfRequirement
- Prompt API for Gemini Nano:
Enabled
- 「chrome://components/」から「Optimization Guide On Device Model」をアップデート確認をクリックします。
「Optimization Guide On Device Model」が表示されない場合は、F12をクリックし開発者ツールを表示してコンソール上で以下のコマンドを実行すると表示されます。
await window.ai.canCreateTextSession();
await window.ai.createTextSession();
テキストを生成
コンソールでコードを実行してみましょう!
プロンプトのメッセージを変えれば応答が変わります!!
const canCreate = await window.ai.canCreateTextSession();
if (canCreate === "no") {
console.log("このデバイスでは利用できません");
} else {
const session = await window.ai.createTextSession();
// 文章全体の生成が終わってから結果を返すパターン:
const result = await session.prompt("活躍するエンジニアの特徴を教えて");
console.log(result);
// 生成途中の文章をストリーミングで受け取るパターン:
const stream = session.promptStreaming("おすすめのプログラミング言語は何ですか?");
for await (const chunk of stream) {
console.log(chunk);
}
}
await window.ai.canCreateTextSession() の戻り値は、次の3つです
- readily: デバイス上でモデルが利用可能
- after-download: モデルのダウンロード後に利用可能
- no: そのデバイスではこのモデルは利用できない
終わりに
難しい設定が要らなかったり、高スペックのパソコンじゃなくてもローカルでLLMが動かせるのでぜひ皆さんも触ってみてください。
また、Chromeに組み込まれることで収益が見込めるサービスじゃなくても気軽にLLMを活用したサービスが作れるようになることはかなり大きいなと感じました!この記事が少しでも役に立てたら幸いです。
Discussion