Debugowanie Gemini Nano

Data publikacji: 28 lutego 2025 r.

W Chrome wbudowana AI korzysta z Gemini Nano do przeprowadzania wnioskowania we wszystkich interfejsach API. Czasami Gemini Nano może zwrócić komunikat o błędzie lub w inny sposób nie zwrócić oczekiwanego wyniku. Możesz sprawdzić informacje o debugowaniu wszystkich wbudowanych interfejsów API AI, które korzystają z Gemini Nano. Obejmuje to Prompt API, Summarizer API, Writer API i Rewriter API.

  1. Otwórz Chrome i kliknij chrome://on-device-internals.
  2. Wybierz Dzienniki zdarzeń.
  3. (Opcjonalnie) Kliknij Zrzut, aby pobrać plik JSON ze wszystkimi informacjami o wydarzeniu.

Możesz zgłosić błąd, abyśmy mogli go naprawić w naszej implementacji.

Debugowanie interfejsu Prompt API

Na przykład w tej sesji użytkownik poprosił interfejs Prompt API o słowa rymujące się.

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

Odpowiedź modelu była następująca (sformatowana dla czytelności):

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

Dlaczego model nie zwrócił wiadomości JSON z rymowanym słowem, najlepiej {"input": "file", "output": "pile"}? Chociaż w momencie pisania tego artykułu dane wyjściowe w formacie strukturalnym nie są jeszcze zaimplementowane, odpowiedź powinna przynajmniej w jakiś sposób wykonać zadanie rymowania.

Aby rozwiązać ten problem, otwórz chrome://on-device-internals/ i kliknij kartę Dzienniki zdarzeń. Z dziennika wynika, że problem polegał na interpretacji promptu przez model. Zamiast JSON model zinterpretował dane wejściowe jako ciąg znaków: [object Object],[object Object],[object Object].

Oto pełny komunikat debugowania sformatowany w celu zwiększenia czytelności:

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>

Karta Dzienniki zdarzeń na specjalnej stronie chrome://on-device-internals z informacjami do debugowania.

Dodaliśmy te informacje do zgłoszenia błędu dotyczącego problemu z modelem: Interfejs Prompt API wydaje się działać toString() na podstawie danych wejściowych JSON. Pomogło to zespołowi inżynierów zidentyfikować problem.

Podziel się opinią

Podziel się opinią na temat debugowania, przesyłając raport o błędzie.