AI Sparkup

최신 AI 쉽게 깊게 따라잡기⚡

Chrome Prompt API – 브라우저에 내장된 Gemini Nano로 온디바이스 AI 기능 구현

Chrome Prompt API는 Chrome 브라우저에 내장된 Gemini Nano를 JavaScript로 직접 호출하는 온디바이스 AI API다. 외부 서버나 API 키 없이 웹 페이지와 크롬 확장 프로그램에서 자연어 처리, 텍스트 생성, 질문 응답 기능을 구현할 수 있다.

Chrome의 Built-in AI 이니셔티브 중 하나로, Summarizer·Writer·Rewriter·Proofreader·Language Detector·Translator API와 함께 제공된다. 현재 Chrome 138 이상에서 오리진 트라이얼(Origin Trial) 상태로 제공된다.

온디바이스 AI의 강점

기존 클라우드 AI API와의 핵심 차이는 데이터가 기기 밖으로 나가지 않는다는 점이다. 모델을 최초 다운로드한 이후에는 오프라인에서도 동작하며, Google이나 제3자에게 요청 내용이 전송되지 않는다.

항목Chrome Prompt API클라우드 AI API
인터넷 연결최초 모델 다운로드만 필요매 요청마다 필요
데이터 프라이버시기기 내 처리서버 전송
비용무료토큰 과금
모델 크기Gemini Nano (경량)Gemini 3.1 Pro, GPT-5.5 등
응답 지연매우 낮음네트워크 의존

하드웨어 요구 사항

Prompt API는 다음 조건을 모두 충족할 때 동작한다:

  • OS: Windows 10/11, macOS 13 (Ventura)+, Linux, ChromeOS Chromebook Plus
  • 저장 공간: 22 GB 이상 여유 공간 (모델 다운로드용)
  • GPU: VRAM 4 GB 초과 또는 CPU: RAM 16 GB 이상 + CPU 코어 4개 이상
  • 모바일: Chrome for Android·iOS는 미지원

10 GB 미만으로 여유 공간이 줄어들면 모델이 자동 삭제된다. 요구 사항 충족 시 재다운로드된다.

API 사용법

1. 모델 가용성 확인

const availability = await LanguageModel.availability({
  // prompt()에 전달할 옵션과 동일하게 지정
});

availability()에 전달하는 옵션은 이후 prompt() 또는 promptStreaming()에도 동일하게 전달해야 한다.

2. 세션 생성

const session = await LanguageModel.create({
  monitor(m) {
    m.addEventListener('downloadprogress', (e) => {
      console.log(`다운로드 ${e.loaded * 100}%`);
    });
  },
});

다운로드 진행 중임을 사용자에게 알리려면 downloadprogress 이벤트를 리슨한다.

3. 프롬프트 실행

// 단일 응답
const response = await session.prompt("AI 규제의 현재 상황을 요약해줘");

// 스트리밍 응답
const stream = await session.promptStreaming("AI 규제 현황 요약");
for await (const chunk of stream) {
  process.stdout.write(chunk);
}

4. 초기 컨텍스트 설정

const session = await LanguageModel.create({
  initialPrompts: [
    { role: 'system', content: '당신은 친절한 한국어 도우미입니다.' },
    { role: 'user', content: '서울의 수도는?' },
    { role: 'assistant', content: '서울은 대한민국의 수도입니다.' },
  ],
});

initialPrompts로 이전 대화 내역을 주입해 세션을 재개할 수 있다.

5. 응답 접두사 제어 (prefix)

const result = await session.prompt([
  { role: 'user', content: '나는 내일 발표가 걱정돼.' },
  { role: 'assistant', content: '발표는 어렵죠!', prefix: true }
]);

prefix: true를 붙이면 어시스턴트 응답의 시작 부분을 미리 지정해 원하는 형식으로 유도할 수 있다.

6. Chrome Extensions 전용: 파라미터 조정

// Chrome Extensions에서만 사용 가능
const params = await LanguageModel.params();
// { defaultTopK: 3, maxTopK: 128, defaultTemperature: 1, maxTemperature: 2 }

const session = await LanguageModel.create({
  temperature: Math.max(params.defaultTemperature * 1.2, 2.0),
  topK: params.defaultTopK,
});

topKtemperature를 함께 지정하거나 둘 다 생략해야 한다.

로컬호스트 개발 설정

chrome://flags에서 다음 두 플래그를 Enabled로 설정 후 재시작:

  • #optimization-guide-on-device-model
  • #prompt-api-for-gemini-nano-multimodal-input

활용 시나리오

시나리오설명
웹페이지 기반 Q&A현재 열린 페이지 내용으로 질문에 답변
개인화 뉴스 피드기사를 실시간으로 카테고리 분류
커스텀 콘텐츠 필터사용자 정의 주제 기반으로 콘텐츠 블러 처리
캘린더 이벤트 자동 생성웹페이지에서 일정 정보를 추출해 캘린더 등록
연락처 자동 추출웹사이트에서 비즈니스 연락처 파싱

Chrome Built-in AI 패밀리

Prompt API 외에도 Chrome에는 다음 내장 AI API가 제공된다:

  • Summarizer API: 텍스트 요약
  • Writer API: 텍스트 작성
  • Rewriter API: 텍스트 재작성
  • Proofreader API: 문법·맞춤법 교정
  • Language Detector API: 언어 감지
  • Translator API: 텍스트 번역

라이선스 및 정책

Gemini Nano 사용 전 Google 생성형 AI 금지 사용 정책 검토 필요. AI 설계 가이드는 People + AI Guidebook 참고.

transformersjs — 브라우저에서 HuggingFace 모델을 서버 없이 실행하는 대안 gemini — Gemini Nano의 상위 모델 계열 전체 개요



AI Sparkup 구독하기

최신 게시물 요약과 더 심층적인 정보를 이메일로 받아 보세요! (무료)