Gemini AI 모델

Gemini Pro 및 Gemini Flash 모델 제품군은 Android 개발자에게 멀티모달 AI 기능을 제공하여 클라우드에서 추론을 실행하고 Android 앱에서 이미지, 오디오, 동영상, 텍스트 입력을 처리합니다.

  • Gemini Pro: Gemini Pro는 Google의 최첨단 사고 모델로, 코드, 수학, STEM의 복잡한 문제를 추론할 수 있을 뿐만 아니라 긴 컨텍스트를 사용하여 대규모 데이터 세트, 코드베이스, 문서를 분석할 수 있습니다.
  • Gemini Flash: Gemini Flash 모델은 빠른 속도, 기본 제공 도구 사용, 토큰 컨텍스트 윈도우 100만 개 등 차세대 기능과 향상된 기능을 제공합니다.

Firebase AI Logic

Firebase AI Logic을 사용하면 개발자가 Google의 생성형 AI를 앱에 안전하게 직접 추가하여 개발을 간소화할 수 있으며, 성공적인 프로덕션 준비 상태를 위한 도구와 제품 통합을 제공합니다. 클라이언트 코드에서 직접 Gemini API를 통합하고 호출하는 클라이언트 Android SDK를 제공하여 백엔드가 필요하지 않으므로 개발을 간소화합니다.

API 제공업체

Firebase AI Logic을 사용하면 Gemini Developer API 및 Agent Platform Gemini API (이전 명칭: Vertex AI)와 같은 Google Gemini API 제공업체를 사용할 수 있습니다.

Firebase Android SDK를 사용하여 클라우드의 Firebase 백엔드로 요청을 전송하는 Android 앱을 보여주는 그림 요청은 Gemini Pro 및 Flash 모델을 모두 활용하는 Gemini Developer API 또는 Agent Platform Gemini API로 라우팅될 수 있습니다.
그림 1. Firebase AI Logic 통합 아키텍처

각 API 제공업체의 주요 차이점은 다음과 같습니다.

Gemini Developer API:

  • 결제 정보가 필요 없는 넉넉한 무료 등급으로 무료로 시작하세요.
  • 사용자층이 늘어남에 따라 확장하려면 Gemini Developer API의 유료 등급으로 업그레이드하세요(선택사항).
  • Google AI Studio를 사용하여 프롬프트를 반복하고 실험하며 코드 스니펫을 가져올 수도 있습니다.

Agent Platform Gemini API (이전 명칭: Vertex AI):

  • 모델에 액세스하는 위치에 대한 세부적인 제어
  • Google Cloud 생태계에 이미 포함된 개발자에게 적합합니다.
  • Agent Studio를 사용하여 프롬프트를 반복하고 실험하며 코드 스니펫을 가져올 수도 있습니다.

앱에 적합한 Gemini API 제공업체를 선택하는 것은 비즈니스 및 기술 제약 조건에 따라 달라집니다. Gemini Pro 및 Flash 모델을 처음 사용하는 대부분의 Android 개발자는 Gemini Developer API로 시작해야 합니다. 제공자 간 전환은 모델 생성자에서 매개변수를 변경하여 실행됩니다.

Kotlin

// For the Agent Platform Gemini API, use `backend = GenerativeBackend.agentPlatform()`
val model = Firebase.ai(backend = GenerativeBackend.googleAI())
    .generativeModel("gemini-3.5-flash")

val response = model.generateContent("Write a story about a magic backpack")
val output = response.text

자바

// For the Agent Platform Gemini API, use `backend = GenerativeBackend.agentPlatform()`
GenerativeModel firebaseAI = FirebaseAI.getInstance(GenerativeBackend.googleAI())
        .generativeModel("gemini-3.5-flash");

// Use the GenerativeModelFutures Java compatibility layer which offers
// support for ListenableFuture and Publisher APIs
GenerativeModelFutures model = GenerativeModelFutures.from(firebaseAI);

Content prompt = new Content.Builder()
    .addText("Write a story about a magic backpack.")
    .build();

ListenableFuture<GenerateContentResponse> response = model.generateContent(prompt);
Futures.addCallback(response, new FutureCallback<GenerateContentResponse>() {
    @Override
    public void onSuccess(GenerateContentResponse result) {
        String resultText = result.getText();
        // ...
    }

    @Override
    public void onFailure(Throwable t) {
        t.printStackTrace();
    }
}, executor);

온디바이스, 클라우드 또는 하이브리드에서 모델 액세스

이전 섹션에 설명된 클라우드 호스팅 Gemini 모델 외에도 Firebase AI Logic SDK를 사용하면 기기 내 모델에 액세스하여 앱의 AI 기능을 빌드할 수 있습니다. 하이브리드 추론용 SDK를 구성하면 앱에서 기기 내 모델을 사용할 수 있지만 필요한 경우 클라우드 호스팅 모델로 원활하게 대체할 수 있습니다 (그 반대의 경우도 마찬가지).

하이브리드 접근 방식의 주요 이점은 다음과 같습니다.

  • 스마트 라우팅: 간단한 작업은 기기에서 처리하고 복잡한 질문은 심층 분석을 위해 자동으로 클라우드로 전송됩니다.

  • 오프라인 사용 가능: 기기에서 직접 모델을 실행하여 인터넷 없이도 앱이 계속 작동합니다. 다시 온라인 상태가 되면 클라우드 호스팅 모델에 액세스할 수 있습니다.

  • 비용 절감: 클라우드 대신 기기에서 일상 작업을 실행하면 추론 비용이 절감됩니다.

AI 기능 보안

Firebase AI Logic은 앱에서 AI 기능을 안전하게 빌드할 수 있는 여러 기능을 지원합니다.

  • 앱 진위 여부 확인: Android 앱에서 직접 Gemini API를 호출하면 승인되지 않은 클라이언트의 악용에 취약해집니다. Firebase AI Logic을 사용하고 Firebase 앱 체크를 시행하여 악용으로부터 보호해야 합니다. 앱 체크를 적용하면 실제 앱 또는 변조되지 않은 기기에서 온 것으로 확인된 수신 요청만 허용됩니다. 앱 체크는 Play Integrity와 reCAPTCHA Enterprise를 프로덕션 증명 제공자로 지원합니다.

  • 프롬프트를 서버 측에 저장: Firebase AI Logic을 사용하여 Gemini API에 요청하는 경우 프롬프트, 스키마, 구성을 서버 측 프롬프트 템플릿에 저장할 수 있습니다. 앱은 클라이언트에서 서버로 키 (템플릿 ID)만 전달합니다. 서버 프롬프트 템플릿을 사용하면 프롬프트가 클라이언트 측에 노출되지 않도록 보호할 수 있습니다.

  • 기기 내 모델 액세스: Firebase AI Logic을 사용하여 기기 내 모델이 제공될 때 요청을 기기 내 모델로 라우팅할 수 있습니다. 프롬프트를 포함한 요청은 기기 외부로 유출되지 않습니다.

프로덕션을 위한 빌드

Firebase AI Logic을 사용하면 앱에서 강력한 AI 기능을 빌드하고 프로덕션에서 작동하는지 확인할 수 있습니다. 자세한 내용은 Firebase AI Logic 프로덕션 체크리스트를 참고하세요.

액세스 및 보안

  • 앱에서 직접 호출될 때 Gemini API가 악용되지 않도록 Firebase 앱 체크를 적용하세요. 앱 체크가 적용되면 수신 요청이 인증된 앱 또는 변조되지 않은 기기에서 시작되는지 확인합니다.

  • Firebase AI Logic의 모든 요청에 Firebase 인증의 유효한 사용자 인증 정보가 포함되도록 인증된 사용자 모드를 적용합니다.

모니터링, 한도, 결제

구성 관리

  • 새 모델이 출시되거나 다른 모델이 종료되면 AI 기능에 사용되는 모델 이름을 주문형으로 변경하세요. 원격 구성 또는 서버 프롬프트 템플릿 사용에 관한 자세한 내용을 확인하세요.

  • 원격 구성을 사용하여 앱의 최소 버전을 설정하면 사용자에게 업그레이드 알림을 표시하거나 사용자가 업그레이드하도록 강제할 수 있습니다.

  • 원격 구성 및 Firebase A/B 테스팅을 사용하여 소규모 사용자 그룹을 대상으로 모델과 프롬프트를 테스트합니다.