Firebase용 Vertex AI SDK를 사용하여 Gemini API 시작하기


이 가이드에서는 Vertex AI Gemini API를 앱에서 직접 Firebase용 Vertex AI SDK.

기본 요건

이 가이드에서는 Android 스튜디오를 사용하여 앱을 개발하는 데 익숙하다고 가정합니다. Android용 앱들이죠.

  • 개발 환경과 Android 앱이 다음 요구사항을 충족해야 합니다.

    • Android 스튜디오 (최신 버전)
    • Android 앱은 API 수준 21 이상을 타겟팅해야 합니다.
  • (선택사항) 샘플 앱을 확인합니다.

    샘플 앱 다운로드

    SDK를 빠르게 사용해 보고 다양한 용도의 전체 구현을 확인할 수 있습니다. 자체 Android 앱이 없는 경우 샘플 앱을 사용하세요. 샘플 앱을 사용하려면 다음 작업을 완료해야 합니다. Firebase 프로젝트에 연결합니다.

1단계: Firebase 프로젝트 설정 및 Firebase에 앱 연결

이미 Firebase 프로젝트와 Firebase에 연결된 앱이 있는 경우

  1. Firebase Console에서 Gemini로 빌드 페이지, 두 번째 카드를 클릭하면 작업을 수행할 수 있습니다 콘솔에 Vertex AI 탭이 표시되면 완료됩니다.

  2. 이 가이드의 다음 단계로 진행하여 앱에 SDK를 추가하세요.

아직 Firebase 프로젝트와 Firebase에 연결된 앱이 없는 경우


2단계: SDK 추가

Firebase 프로젝트가 설정되고 앱이 Firebase에 연결된 경우 (이전 단계 참조) 이제 Firebase용 Vertex AI SDK를 앱에 추가할 수 있습니다.

Android용 Firebase용 Vertex AI SDK (firebase-vertexai)는 다음을 제공합니다. Vertex AI Gemini API에 대한 액세스 권한을 얻을 수 있습니다

모듈 (앱 수준) Gradle 구성 파일 (예: <project>/<app-module>/build.gradle.kts) Android용 Firebase용 Vertex AI SDK:

Kotlin+KTX

dependencies {
  // ... other androidx dependencies

  // add the dependency for the Vertex AI for Firebase SDK for Android
  implementation("com.google.firebase:firebase-vertexai:16.0.0-beta03")
}

Java

Java의 경우 라이브러리를 두 개 더 추가해야 합니다.

dependencies {
  // ... other androidx dependencies

  // add the dependency for the Vertex AI for Firebase SDK for Android
  implementation("com.google.firebase:firebase-vertexai:16.0.0-beta03")

  // Required for one-shot operations (to use `ListenableFuture` from Guava Android)
  implementation("com.google.guava:guava:31.0.1-android")

  // Required for streaming operations (to use `Publisher` from Reactive Streams)
  implementation("org.reactivestreams:reactive-streams:1.0.4")
}

3단계: Vertex AI 서비스 및 생성 모델 초기화

API 호출을 하려면 먼저 Vertex AI를 초기화해야 합니다. 스토리지 서비스와 생성 모델을 빌드할 수 있습니다

Kotlin+KTX

Kotlin의 경우 이 SDK의 메서드는 정지 함수이므로 호출되어야 합니다. 코루틴 범위에서 가져올 수 있습니다.
// Initialize the Vertex AI service and the generative model
// Specify a model that supports your use case
// Gemini 1.5 models are versatile and can be used with all API capabilities
val generativeModel = Firebase.vertexAI.generativeModel("gemini-1.5-flash")

Java

Java의 경우 이 SDK의 스트리밍 메서드가 다음을 반환합니다. Publisher Reactive Streams 라이브러리의 유형.
// Initialize the Vertex AI service and the generative model
// Specify a model that supports your use case
// Gemini 1.5 models are versatile and can be used with all API capabilities
GenerativeModel gm = FirebaseVertexAI.getInstance()
        .generativeModel("gemini-1.5-flash");

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

시작 가이드를 완료했다면 Gemini 모델 및 (선택사항) 사용 사례와 앱에 적합한 위치를 선택합니다.

4단계: Vertex AI Gemini API 호출

이제 앱을 Firebase에 연결하고 SDK를 추가했으며 생성형 모델인 Vertex AI 서비스와 Vertex AI Gemini API를 호출할 준비가 되었습니다

generateContent()를 사용하여 텍스트 전용 프롬프트에서 텍스트를 생성할 수 있습니다. 요청:

Kotlin+KTX

Kotlin의 경우 이 SDK의 메서드는 정지 함수이므로 호출되어야 합니다. 코루틴 범위에서 가져올 수 있습니다.
// Initialize the Vertex AI service and the generative model
// Specify a model that supports your use case
// Gemini 1.5 models are versatile and can be used with all API capabilities
val generativeModel = Firebase.vertexAI.generativeModel("gemini-1.5-flash")

// Provide a prompt that contains text
val prompt = "Write a story about a magic backpack."

// To generate text output, call generateContent with the text input
val response = generativeModel.generateContent(prompt)
print(response.text)

Java

Java의 경우 이 SDK의 메서드는 ListenableFuture
// Initialize the Vertex AI service and the generative model
// Specify a model that supports your use case
// Gemini 1.5 models are versatile and can be used with all API capabilities
GenerativeModel gm = FirebaseVertexAI.getInstance()
        .generativeModel("gemini-1.5-flash");
GenerativeModelFutures model = GenerativeModelFutures.from(gm);

// Provide a prompt that contains text
Content prompt = new Content.Builder()
    .addText("Write a story about a magic backpack.")
    .build();

// To generate text output, call generateContent with the text input
ListenableFuture<GenerateContentResponse> response = model.generateContent(prompt);
Futures.addCallback(response, new FutureCallback<GenerateContentResponse>() {
    @Override
    public void onSuccess(GenerateContentResponse result) {
        String resultText = result.getText();
        System.out.println(resultText);
    }

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

가능한 작업

Gemini 모델 자세히 알아보기

자세히 알아보기: 다양한 사용 사례에 사용할 수 있는할당량 및 가격 책정에 대해 자세히 알아보세요.

Gemini API의 다른 기능 사용해 보기

콘텐츠 생성 제어 방법 알아보기

또한 BigQuery ML을 사용하여 프롬프트와 모델 구성을 Vertex AI Studio


의견 보내기 Firebase용 Vertex AI 사용 경험에 관한 의견