組み込みモデルをデバッグする

公開日: 2025 年 2 月 28 日

Chrome の組み込み AI は、基盤モデルとエキスパート モデルを使用して、すべての API の推論を行います。モデルがエラー メッセージを返すか、期待どおりの結果を返さないことがあります。基盤モデルとエキスパート モデルを使用するすべての組み込み 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)に追加したところ、エンジニアリング チームが問題を特定するのに役立ちました。

フィードバックを共有

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