기본 제공 AI 시작하기

AI_USAGE=false

게시일: 2024년 12월 12일, 최종 업데이트: 2025년 5월 20일

내장 AI API를 사용하면 웹 애플리케이션이 자체 AI 모델을 배포하거나 관리할 필요 없이 AI 기반 작업을 실행할 수 있습니다. Google은 브라우저 전반에서 이러한 API를 표준화하기 위해 노력하고 있습니다.

요구사항

기본 제공 AI를 사용하려면 모델 및 하드웨어 요구사항이 있습니다.

모델

프롬프트 API, Summarizer API, Writer API, Rewriter API는 데스크톱 및 노트북 컴퓨터에서 로컬로 실행되도록 설계된 대규모 언어 모델을 다운로드합니다. 이러한 API는 휴대기기에서 작동하지 않습니다. 이 API를 사용하기 전에 Google의 생성형 AI에 관한 금지된 사용 정책을 확인하세요.

Summarizer API, Writer API, Rewriter API는 텍스트-텍스트 모달리티만 지원합니다. 프롬프트 API에는 멀티모달 기능이 있습니다. 이 기능은 조기 미리보기 프로그램 참가자가 로컬 프로토타입 제작에 사용할 수 있습니다.

하드웨어

Chrome에서 이러한 API를 사용하여 기능을 작동하는 개발자와 사용자에게는 다음 요구사항이 적용됩니다. 다른 브라우저에는 다른 운영 요구사항이 있을 수 있습니다.

Language Detector API와 Translator API는 데스크톱의 Chrome에서 작동합니다. 이러한 API는 휴대기기에서 작동하지 않습니다. 다음 조건을 충족하는 경우 Chrome에서 Prompt API, Summarizer API, Writer API, Rewriter API가 작동합니다.

  • 운영체제: Windows 10 또는 11, macOS 13 이상 (Ventura 이상), Linux Android, iOS, ChromeOS용 Chrome은 아직 Gemini Nano를 사용하는 API에서 지원되지 않습니다.
  • 저장소: Chrome 프로필이 포함된 볼륨에 22GB 이상의 여유 공간이 있어야 합니다.
  • GPU: VRAM이 4GB보다 커야 합니다.
  • 네트워크: 무제한 데이터 또는 무제한 연결

브라우저에서 모델을 업데이트하면 Gemini Nano의 정확한 크기가 달라질 수 있습니다. 현재 크기를 확인하려면 chrome://on-device-internals로 이동하여 모델 상태를 확인하세요. 나열된 파일 경로를 열어 모델 크기를 확인합니다.

빌드 시작

개발의 여러 단계에서 사용할 수 있는 여러 내장 AI API가 있습니다. 일부는 Chrome 안정화 버전에 포함되어 있고, 일부는 오리진 트라이얼 참여자에게 제공되며, 일부는 사전 체험 프로그램 참여자에게만 제공됩니다.

각 API에는 로컬 프로토타입 제작과 오리진 트라이얼을 사용하는 프로덕션 환경 모두에서 모델을 시작하고 다운로드하는 자체 지침이 있습니다.

Chrome 확장 프로그램을 빌드할 때 이러한 API를 모두 사용할 수 있습니다.

모델 다운로드

API는 모델과 마찬가지로 Chrome에 내장되어 있습니다. 사용자가 이러한 API와 처음 상호작용할 때 모델을 브라우저에 다운로드해야 합니다.

API를 사용할 수 있고 준비되었는지 확인하려면 다음 값 중 하나가 포함된 프로미스를 반환하는 비동기 availability() 함수를 호출합니다.

  • "unavailable": 사용자의 기기 또는 요청된 세션 옵션이 지원되지 않습니다. 기기의 전원이나 디스크 공간이 부족할 수 있습니다.
  • "downloadable": 세션을 만들려면 추가 다운로드가 필요하며 여기에는 전문가 모델, 언어 모델 또는 미세 조정이 포함될 수 있습니다. create()를 호출하려면 사용자 활성화가 필요할 수 있습니다.
  • "downloading": 다운로드가 진행 중이며 세션을 사용하려면 다운로드가 완료되어야 합니다.
  • "available": 세션을 즉시 만들 수 있습니다.

사용자 활성화

브라우저에 필요한 모델과 구성을 다운로드하려면 사용자 상호작용이 필요합니다. 웹사이트 또는 웹 애플리케이션이 사용자가 특정 내장 AI API를 처음 접하는 경우 create()로 세션을 시작하려면 일시적인 사용자 상호작용이 필요합니다.

UserActivation.isActive 속성을 사용하여 클릭, 탭, 키 누르기 등 사용자 활성화를 확인합니다.

// Check for user activation.
if (navigator.userActivation.isActive) {
  // Create an instance of a built-in API
}

예를 들어 요약 도구 API를 사용하면 사용자에게 '요약' 버튼과 상호작용하여 Summarizer.create()를 활성화하도록 요청할 수 있습니다.

localhost에서 API 사용

모든 API는 Chrome의 localhost에서 사용할 수 있습니다.

  1. chrome://flags/#prompt-api-for-gemini-nano 페이지로 이동합니다.
  2. 사용 설정됨을 선택합니다.
  3. 다시 시작을 클릭하거나 Chrome을 다시 시작합니다.

Gemini Nano가 다운로드되었고 의도한 대로 작동하는지 확인하려면 DevTools를 열고 콘솔에 await LanguageModel.availability();를 입력합니다. available이(가) 반환됩니다.

localhost 문제 해결

모델이 예상대로 작동하지 않으면 다음 단계를 따르세요.

  1. Chrome을 다시 시작합니다.
  2. chrome://components 페이지로 이동합니다.
  3. Optimization Guide On Device Model이 있는지 확인합니다. 이는 Gemini Nano를 사용할 수 있거나 다운로드 중임을 의미합니다.
    • 버전 번호가 나열되지 않으면 업데이트 확인을 클릭하여 다운로드를 강제 실행합니다.
  4. DevTools를 열고 콘솔에 LanguageModel.availability();를 입력합니다. available이(가) 반환됩니다.

필요한 경우 잠시 기다린 후 이 단계를 반복합니다.

표준 프로세스

Google에서는 이러한 API가 모든 브라우저에서 작동하도록 표준화하기 위해 노력하고 있습니다. 즉, Google은 웹 플랫폼 커뮤니티에 API를 제안했으며 추가 논의를 위해 W3C Web Incubator Community Group으로 이동했습니다.

각 API에 대해 W3C, Mozilla, WebKit의 의견을 요청하고 있습니다.

참여 및 의견 공유

내장 AI를 사용해 보고 의견이 있으면 알려주세요.