Debugowanie wbudowanego modelu

Data publikacji: 28 lutego 2025 r.

W Chrome wbudowana AI korzysta z modeli podstawowych i eksperckich, aby przeprowadzać wnioskowanie dla wszystkich interfejsów API. Czasami model może zwrócić komunikat o błędzie lub w inny sposób nie zwrócić oczekiwanego wyniku. Możesz sprawdzić informacje do debugowania wszystkich wbudowanych interfejsów API AI, które korzystają z modeli podstawowych i eksperckich. Obejmuje to interfejsy 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 rymującym się słowem, najlepiej {"input": "file", "output": "pile"}? Chociaż w momencie pisania tego artykułu dane wyjściowe w formacie strukturalnym nie są jeszcze wdrożone, 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.