Déboguer Gemini Nano

Publié le 28 février 2025

L'IA intégrée s'appuie sur Gemini Nano pour effectuer des inférences pour toutes les API. Il arrive que Gemini Nano renvoie un message d'erreur ou qu'il ne renvoie pas le résultat attendu. Vous pouvez consulter les informations de débogage pour toutes les API d'IA intégrées qui utilisent Gemini Nano. Cela inclut l'API Prompt, l'API Summarizer, l'API Writer et l'API Rewriter.

  1. Ouvrez Chrome et accédez à chrome://on-device-internals.
  2. Sélectionnez Journaux des événements.
  3. (Facultatif) Cliquez sur Dump (Vider) pour télécharger un fichier JSON contenant toutes les informations sur l'événement.

Vous pouvez signaler un bug afin que nous puissions corriger cette erreur dans notre implémentation.

Exemple: Déboguer l'API Prompt

Par exemple, dans la session suivante, l'utilisateur a demandé des mots en rimes à l'API Prompt.

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"},  
]);

La réponse du modèle était la suivante, mise en forme pour plus de lisibilité:

```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 `[]`."

Pourquoi le modèle n'a-t-il pas renvoyé de message JSON avec un mot qui rime, idéalement {"input": "file", "output": "pile"} ? Bien que la sortie structurée ne soit pas encore implémentée au moment de la rédaction de cet article, la réponse doit au moins d'une manière ou d'une autre effectuer la tâche de rimes.

Pour déboguer cette erreur, accédez à chrome://on-device-internals/, puis à l'onglet Journaux des événements. Le journal révèle que le problème était lié à l'interprétation de l'invite par le modèle. Au lieu de JSON, le modèle a compris l'entrée comme une chaîne: [object Object],[object Object],[object Object].

Voici le message de débogage complet, mis en forme pour plus de lisibilité:

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>

Onglet &quot;Journaux des événements&quot; de la page spéciale chrome://on-device-internals avec des informations de débogage.

Nous avons ajouté ces informations à un bug lié au problème de modèle (L'API Prompt semble exécuter toString() sur l'entrée JSON), ce qui a aidé l'équipe d'ingénieurs à identifier le problème.

Envoyer des commentaires

Partagez vos commentaires de débogage en envoyant un rapport de bug.