Gemini Nano をデバッグする

公開日: 2025 年 2 月 28 日

Chrome の組み込み AI は、Gemini Nano を使用してすべての API の推論を行います。Gemini Nano からエラー メッセージが返されたり、期待どおりの結果が返されなかったりすることがあります。Gemini Nano を使用するすべての組み込み AI API のデバッグ情報を確認できます。これには、Prompt API、Summarizer API、Writer API、Rewriter API が含まれます。

  1. Chrome を開き、chrome://on-device-internals に移動します。
  2. [イベントログ] を選択します。
  3. (省略可)[ダンプ] をクリックして、すべてのイベント情報を含む JSON ファイルをダウンロードします。

実装でこのエラーに対処できるよう、バグを報告してください。

Prompt API をデバッグする

たとえば、次のセッションでは、ユーザーが Prompt API に押韻語をリクエストしています。

const session = await LanguageModel.create({
  systemPrompt: "You are an API endpoint that returns rhymes as JSON for an input word."
});

await session.prompt([
  { role: "user", content: "house" },  
  { role: "assistant", content: "{\"input\": \"house\", \"output\": \"mouse\"}" },
  { role: "user", content: "file"},  
]);

モデルのレスポンスは次のとおりです。読みやすくするために書式設定されています。

```json
[]
```

**Reasoning:**

The input you provided (empty arrays) is an empty list or array in JSON format.
When you try to find rhymes for an empty list, you're essentially looking for
words that rhyme with nothing.


Therefore, there are no rhymes to return. The JSON response will be an empty
array `[]`."

モデルが、理想的には {"input": "file", "output": "pile"} のような韻を踏んだ単語を含む JSON メッセージを返さなかったのはなぜですか?この投稿を記述した時点では構造化された出力はまだ実装されていませんが、レスポンスは少なくとも何らかの方法で韻を踏むタスクを実行する必要があります。

このエラーをデバッグするには、chrome://on-device-internals/ にアクセスして [イベントログ] タブに移動します。ログから、問題はモデルによるプロンプトの解釈にあることがわかります。モデルは JSON ではなく、入力 [object Object],[object Object],[object Object] を文字列として認識しました。

読みやすいようにフォーマットされたデバッグ メッセージの全体を次に示します。

Executing model with input context of 0 tokens:
<system>You are an API endpoint that returns rhymes as JSON for an input word.<end>
with string: <user>[object Object],[object Object],[object Object]<end> <model>

デバッグ情報を含む特別なページ chrome://on-device-internals の [イベントログ] タブ。

この情報をモデルの問題に関するバグ(Prompt API seems to run toString() on JSON input)に追加したところ、エンジニアリング チームが問題を特定するのに役立ちました。

フィードバックを共有

デバッグに関するフィードバックは、バグレポートを提出して共有してください。