ML Kit GenAI API 개요

ML Kit의 생성형 AI API는 Gemini Nano의 기능을 활용하여 앱이 작업을 실행하도록 지원합니다. 이러한 API는 고급 인터페이스를 통해 인기 있는 사용 사례에 즉시 사용 가능한 품질을 제공합니다. ML Kit 생성형 AI API는 AICore를 기반으로 빌드됩니다. AICore는 생성형 AI 기반 모델의 온디바이스 실행을 지원하는 Android 시스템 서비스로, 데이터를 로컬에서 처리하여 향상된 앱 기능 및 개선된 사용자 개인 정보 보호와 같은 기능을 지원합니다.

생성형 AI API 사용에는 ML Kit 생성형 AI API 추가 서비스 약관이 적용됩니다. 개발자는 API 클라이언트의 안전과 앱의 사용자 환경에 대한 전적인 책임을 집니다.

주요 특징

ML Kit 생성형 AI API는 다음 기능을 지원합니다.

  • 요약: 기사 또는 채팅 대화를 글머리기호 목록으로 요약합니다.
  • 교정: 문법을 개선하고 맞춤법 오류를 수정하여 짧은 콘텐츠를 다듬습니다.
  • 재작성: 짧은 메시지를 다양한 어조 또는 스타일로 다시 작성합니다.
  • **이미지 설명**: 지정된 이미지에 대한 간단한 설명을 생성합니다.
  • 음성 인식: 오디오 콘텐츠를 텍스트로 변환합니다.
  • 프롬프트: 맞춤 텍스트 전용 또는 멀티모달 프롬프트를 기반으로 텍스트 콘텐츠를 생성합니다.

생성형 AI API의 이점

기존의 다른 ML Kit 기능과 마찬가지로 생성형 AI API는 온디바이스에서 완전히 실행되므로 다음과 같은 이점을 제공합니다.

  • 입력, 추론, 출력 데이터가 로컬에서 처리됩니다.
  • 안정적인 인터넷 연결이 없어도 기능은 동일하게 유지됩니다.
  • API 호출당 추가 서버 비용이 발생하지 않습니다.

또한 생성형 AI API는 AICore를 기반으로 빌드되고 Gemini Nano로 구동되므로 모든 앱이 기기에 있는 공유 Gemini Nano 모델을 사용할 수 있습니다. 이렇게 하면 기기에 모델이 이미 있는 경우 모델이 다운로드될 때까지 기다릴 필요가 없으므로 스토리지 공간이 절약됩니다. AICore에서 개인 정보 보호를 위해 요청을 격리하는 방법을 자세히 알아보세요.

스트리밍과 비스트리밍

ML Kit 생성형 AI API는 결과를 수신하기 위한 스트리밍 및 비스트리밍 옵션을 모두 제공합니다. 스트리밍 API는 응답이 생성될 때마다 점진적으로 제공하여 데이터의 지속적인 흐름을 제공합니다. 반면 비스트리밍 API는 전체 응답이 완료될 때까지 기다린 후 단일 블록으로 반환합니다.

긴 응답에는 스트리밍 API를 선택하세요. 초기 의견을 더 빠르게 제공할 수 있기 때문입니다. 비스트리밍 API는 짧은 응답에 더 적합하거나 결과를 일괄 처리할 때 더 적합합니다.

기기 지원

생성형 AI 기능별 API (요약, 교정, 재작성, 이미지 설명)는 다음 섹션에 설명된 대로 프롬프트 API와 다른 기기 지원을 제공합니다.

기능별 API 기기 지원

요약, 교정, 재작성, 이미지 설명API는 다음 기기에서 사용할 수 있으며, 추가 기기로 지원을 확대할 계획입니다.

  • Google: Pixel 10, Pixel 10 Pro, Pixel 10 Pro XL, Pixel 10 Pro Fold, Pixel 9, Pixel 9 Pro, Pixel 9 Pro XL, Pixel 9 Pro Fold
  • Honor: Honor 400 Pro, Magic 7, Magic 7 Pro, Magic 8 Pro, Magic V5
  • iQOO: iQOO 13, iQOO 15
  • Motorola: Razr 60 Ultra, Razr Ultra 2025, Signature
  • OnePlus: OnePlus 15, OnePlus 15R, OnePlus 13, OnePlus 13s
  • OPPO: Find N5, Find X9, Find X9 Pro, Find X8, Find X8 Pro, Reno 14 Pro 5G, Reno 15 Pro 5G, Reno 15 Pro Mini 5G, Reno 15 Pro Max 5G
  • POCO: POCO F7 Ultra, POCO F8 Pro, POCO F8 Ultra, POCO X7 Pro, POCO X8 Pro
  • realme: realme GT 7 Pro, realme GT 7T
  • Samsung: Galaxy S25, Galaxy S25+, Galaxy S25 Ultra, Galaxy S26, Galaxy S26+, Galaxy S26 Ultra, Galaxy Z Fold7, Galaxy Z TriFold
  • vivo: vivo X200T, vivo X200 FE, vivo X200, vivo X200 Pro, vivo X300, X300 Pro, vivo X Fold3 Pro, vivo X Fold5, vivo T4 Ultra
  • Xiaomi: Xiaomi 14T Pro, Xiaomi 15, Xiaomi 15T, Xiaomi 15T Pro, Xiaomi 15 Ultra, Xiaomi 17, Xiaomi 17 Ultra, Xiaomi Pad Mini

특정 언어 지원의 사용 가능 여부는 특정 기기의 구성과 기기에 다운로드된 모델에 따라 다를 수 있습니다.

프롬프트 API 기기 지원

프롬프트 API는 다음 기기에서 지원됩니다.

nano-v2

  • Google: Pixel 9, Pixel 9 Pro, Pixel 9 Pro XL, Pixel 9 Pro Fold
  • Honor: Magic V5, Magic 7, Magic 7 Pro
  • iQOO: iQOO 13
  • Motorola: Razr 60 Ultra, Razr Ultra 2025
  • OnePlus: OnePlus 13, OnePlus 13s
  • OPPO: Find N5
  • POCO: POCO F7 Ultra, POCO F8 Pro, POCO F8 Ultra, POCO X7 Pro, POCO X8 Pro
  • realme: realme GT 7 Pro
  • Samsung: Galaxy Z Fold7, Galaxy Z TriFold
  • Xiaomi: Xiaomi 14T Pro, Xiaomi 15, Xiaomi 15T, Xiaomi 15T Pro, Xiaomi 15 Ultra, Xiaomi 17, Xiaomi 17 Ultra, Xiaomi Pad Mini
  • vivo: vivo X200 FE, vivo T4 Ultra

nano-v3

  • Google: Pixel 10, Pixel 10 Pro, Pixel 10 Pro XL, Pixel 10 Pro Fold
  • Honor: Honor Magic 8 Pro
  • iQOO: iQOO 15
  • Samsung: Galaxy S26, Galaxy S26+, Galaxy S26 Ultra
  • Motorola: Signature
  • OnePlus: OnePlus 15, OnePlus 15R
  • OPPO: Find X9, Find X9 Pro, Find X8, Find X8 Pro, Reno 14 Pro 5G, Reno 15 Pro 5G, Reno 15 Pro Mini 5G, Reno 15 Pro Max 5G
  • realme: realme GT 7T
  • vivo: vivo X200T, vivo X200, vivo X200 Pro, vivo X300, vivo X300 Pro

음성 인식 API 기기 지원

음성 인식 API는 다음 기기에서 지원됩니다.

기본 모드 API 수준 31 이상인 대부분의 Android 기기에서 사용할 수 있는 기존 온디바이스 음성 인식 모델을 사용합니다.
고급 모드 생성형 AI 모델을 활용하여 더 높은 품질과 더 넓은 언어 지원을 제공합니다. Pixel 10 기기에서 지원되며, 더 많은 기기가 개발 중입니다.

Gemini Nano 버전 가져오기

Gemini Nano의 버전은 기기마다 다릅니다. 기기의 Gemini Nano 버전을 반환하려면 getBaseModelName()을 사용하세요.

애플리케이션별 할당량

AICore는 앱당 추론 할당량을 적용합니다. 짧은 기간에 너무 많은 생성형 AI API 요청을 하면 ErrorCode.BUSY 응답이 발생합니다. 이러한 오류가 발생하면 지수 백오프를 사용하여 요청을 다시 시도하는 것이 좋습니다. 또한 앱이 장기 할당량 (예: 일일 할당량)을 초과하면 ErrorCode.PER_APP_BATTERY_USE_QUOTA_EXCEEDED가 반환될 수 있습니다.

백그라운드 사용

생성형 AI API 추론은 앱이 최상위 포그라운드 애플리케이션일 때만 허용됩니다. 포그라운드 서비스를 사용하는 것을 포함하여 앱이 포그라운드에 없을 때 API를 사용하면 ErrorCode.BACKGROUND_USE_BLOCKED 응답이 발생합니다.

샘플 코드

이 코드를 가져오려면 다음 샘플을 확인하세요.