Gemini Nano をデバッグする

公開日: 2025 年 2 月 28 日

組み込み 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. (省略可)[Dump] をクリックして、すべてのイベント情報が含まれる JSON ファイルをダウンロードします。

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

例: Prompt API をデバッグする

たとえば、次のセッションでは、ユーザーが Prompt API から韻を踏む単語をリクエストしました。

const session = await ai.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 `[]`."

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

このエラーをデバッグするには、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 が JSON 入力で toString() を実行しているようです」のバグに追加しました。これにより、エンジニアリング チームが問題を特定することができました。

フィードバックを共有

デバッグに関するフィードバックは、バグレポートを送信してご提供ください。