Depurar o Gemini Nano

Publicado em 28 de fevereiro de 2025

A IA integrada depende do Gemini Nano para realizar a inferência de todas as APIs. Às vezes, o Gemini Nano pode retornar uma mensagem de erro ou não retornar o resultado esperado. É possível analisar as informações de depuração de todas as APIs de IA integradas que usam o Gemini Nano. Isso inclui a API Prompt, a API Summarizer, a API Writer e a API Rewriter.

  1. Abra o Chrome e acesse chrome://on-device-internals.
  2. Selecione Registros de eventos.
  3. (Opcional) Clique em Dump para fazer o download de um arquivo JSON com todas as informações do evento.

Você pode registrar um bug para que possamos resolver esse erro na nossa implementação.

Exemplo: depurar a API Prompt

Por exemplo, na sessão a seguir, o usuário solicitou palavras com rimas da 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"},  
]);

A resposta do modelo foi a seguinte, formatada para legibilidade:

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

Por que o modelo não retornou uma mensagem JSON com uma palavra que rime, idealmente {"input": "file", "output": "pile"}? Embora a saída estruturada ainda não tenha sido implementada no momento em que este artigo foi escrito, a resposta precisa, pelo menos, de alguma forma realizar a tarefa de rima.

Para depurar esse erro, acesse chrome://on-device-internals/ e a guia Event Logs. O registro revela que o problema estava na interpretação do comando pelo modelo. Em vez de JSON, o modelo entendeu a entrada como uma string: [object Object],[object Object],[object Object].

Confira a mensagem de depuração completa, formatada para legibilidade:

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>

Guia &quot;Event logs&quot; da página especial chrome://on-device-internals com informações de depuração.

Adicionamos essas informações a um bug do modelo, a API Prompt parece executar toString() na entrada JSON, o que ajudou a equipe de engenharia a identificar o problema.

Compartilhar feedback

Compartilhe seu feedback de depuração preenchendo um relatório de bug.