게시일: 2025년 2월 28일
Chrome에서 내장 AI는 Gemini Nano를 사용하여 모든 API의 추론을 실행합니다. 경우에 따라 Gemini Nano에서 오류 메시지를 반환하거나 예상한 결과를 반환하지 못할 수 있습니다. Gemini Nano를 사용하는 모든 기본 제공 AI API의 디버그 정보를 검토할 수 있습니다. 여기에는 Prompt API, Summarizer API, Writer API, Rewriter API가 포함됩니다.
- Chrome을 열고
chrome://on-device-internals
로 이동합니다. - 이벤트 로그를 선택합니다.
- (선택사항) 덤프를 클릭하여 모든 이벤트 정보가 포함된 JSON 파일을 다운로드합니다.
Google에서 구현 시 이 오류를 해결할 수 있도록 버그를 신고해 주세요.
프롬프트 API 디버그
예를 들어 다음 세션에서 사용자는 프롬프트 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>
이 정보는 모델 문제에 관한 버그인 프롬프트 API가 JSON 입력에서 toString()
을 실행하는 것으로 보임에 추가되었으며, 이를 통해 엔지니어링팀에서 문제를 파악할 수 있었습니다.
의견 공유
버그 신고를 제출하여 디버깅 의견을 공유하세요.