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


이 가이드에서는 Vertex AI Gemini API: 선택한 플랫폼에 맞는 Vertex AI in Firebase SDK입니다.

기본 요건

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

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

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

  1. Firebase 콘솔에서 다음으로 이동합니다. Gemini로 빌드 페이지를 참고하세요.

  2. Vertex AI in Firebase 카드를 클릭하면 다음에 도움이 되는 워크플로를 시작할 수 있습니다. 다음 작업을 완료합니다. (콘솔에 Vertex AI)를 클릭하면 이 태스크가 완료됩니다.)

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

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


2단계: SDK 추가

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

Android용 Vertex AI in Firebase SDK (firebase-vertexai)는 다음을 제공합니다. Vertex AI Gemini API에 액세스할 수 있어야 합니다.

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

Kotlin+KTX

dependencies {
  // ... other androidx dependencies

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

Java

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

dependencies {
  // ... other androidx dependencies

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

  // 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);
<ph type="x-smartling-placeholder">를 통해 개인정보처리방침을 정의할 수 있습니다. 를 통해 개인정보처리방침을 정의할 수 있습니다.

가능한 작업

Gemini 모델 자세히 알아보기

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

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

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

를 통해 개인정보처리방침을 정의할 수 있습니다. 또한 BigQuery ML을 사용하여 프롬프트와 모델 구성을 Vertex AI Studio


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