이 가이드에서는 Vertex AI Gemini API: 선택한 플랫폼에 맞는 Vertex AI in Firebase SDK입니다.
기본 요건
이 가이드에서는 Android 스튜디오를 사용하여 앱을 개발하는 데 익숙하다고 가정합니다. Android용 앱들이죠.
개발 환경과 Android 앱이 다음 요구사항을 충족해야 합니다.
- Android 스튜디오(최신 버전)
- Android 앱이 API 수준 21 이상을 타겟팅해야 합니다.
(선택사항) 샘플 앱을 확인합니다.
SDK를 빠르게 사용해 보고 다양한 용도의 전체 구현을 확인할 수 있습니다. 사례에서 보거나, 자체 Android 앱이 없는 경우 샘플 앱을 사용하세요. 샘플 앱을 사용하려면 다음 작업을 완료해야 합니다. Firebase 프로젝트에 연결합니다.
1단계: Firebase 프로젝트 설정 및 앱을 Firebase에 연결
Firebase 프로젝트와 Firebase에 연결된 앱이 이미 있는 경우
Firebase 콘솔에서 다음으로 이동합니다. Gemini로 빌드 페이지를 참고하세요.
Vertex AI in Firebase 카드를 클릭하여 다음 작업을 완료하는 데 도움이 되는 워크플로를 실행합니다. (콘솔에 Vertex AI)를 클릭하면 이 태스크가 완료됩니다.)
사용한 만큼만 지불하는 Blaze 요금제를 사용하도록 프로젝트를 업그레이드합니다.
프로젝트에
aiplatform.googleapis.com
및firebaseml.googleapis.com
API를 사용 설정합니다.
이 가이드의 다음 단계로 진행하여 앱에 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-beta06")
}
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-beta06")
// 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의 다른 기능 사용해 보기
- 응답을 스트리밍하는 방법을 비롯하여 텍스트 전용 프롬프트에서 텍스트를 생성하는 방법을 자세히 알아보세요.
- 다음에서 텍스트 생성 멀티모달 프롬프트 (텍스트, 이미지, PDF, 동영상, 오디오 포함)
- 멀티턴 대화 (채팅)를 빌드합니다.
- 함수 호출을 사용하여 연결 생성하는 방법을 알아보겠습니다
콘텐츠 생성을 제어하는 방법 알아보기
- 권장사항, 전략, 프롬프트 예시를 포함하여 프롬프트 설계 이해하기
- 강도 및 최대 출력 토큰과 같은 모델 매개변수를 구성합니다.
- 안전 설정을 사용하여 유해하다고 간주될 수 있는 대답이 표시될 가능성을 조정합니다.
Vertex AI in Firebase 사용 경험에 관한 의견 보내기