Gemini API 빠른 시작

이 빠른 시작에서는 원하는 SDK를 사용하여 Gemini API를 시작하는 방법을 보여줍니다.


기본 요건

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

이 빠른 시작을 완료하려면 개발 환경과 Android 앱이 다음 요구사항을 충족하는지 확인합니다.

  • Android 스튜디오 (최신 버전)
  • Android 앱이 API 수준 21 이상을 타겟팅해야 합니다.

기기 내 Gemini 액세스 고려

이 튜토리얼에 설명된 Android용 클라이언트 SDK를 사용하면 Google 서버에서 실행되는 Gemini 모델에 액세스할 수 있습니다. 민감한 데이터 처리, 오프라인 사용 가능 여부 또는 자주 사용되는 사용자 흐름의 비용 절약과 관련된 사용 사례의 경우 기기 내에서 실행되는 Gemini Nano에 액세스하는 것이 좋습니다. 자세한 내용은 Android(기기 내) 페이지를 참고하세요.

Gemini API SDK 설치

  1. 모듈(앱 수준) Gradle 구성 파일(예: <project>/<app-module>/build.gradle.kts)에 Android용 Google AI SDK 종속 항목을 추가합니다.

    Kotlin

    dependencies {
    
      // add the dependency for the Google AI client SDK for Android
      implementation("com.google.ai.client.generativeai:generativeai:0.7.0")
    }
    

    자바

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

    dependencies {
    
        // add the dependency for the Google AI client SDK for Android
        implementation("com.google.ai.client.generativeai:generativeai:0.7.0")
    
        // 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")
    }
    
  2. Android 프로젝트를 Gradle 파일과 동기화합니다.

인증 설정

Gemini API에 인증하는 가장 쉬운 방법은 이 섹션에 설명된 대로 API 키를 구성하는 것입니다. 더 엄격한 액세스 제어가 필요한 경우 대신 OAuth를 사용할 수 있습니다.

아직 API 키가 없는 경우 Google AI Studio에서 API 키를 만듭니다.

Google AI Studio에서 API 키 가져오기

그런 다음 키를 구성합니다.

버전 제어 시스템에 API 키를 체크인하지 마세요. 대신 프로젝트의 루트 디렉터리에 있지만 버전 제어에서 제외된 local.properties 파일에 저장한 후 Android용 Secrets Gradle 플러그인을 사용하여 API 키를 빌드 구성 변수로 읽어야 합니다.

Kotlin

// Access your API key as a Build Configuration variable
val apiKey = BuildConfig.apiKey

자바

// Access your API key as a Build Configuration variable
String apiKey = BuildConfig.apiKey;

Secrets Gradle 플러그인의 구현을 확인하려면 이 SDK의 샘플 앱을 검토하거나 Gemini API 시작 도구 템플릿(시작하는 데 필요한 local.properties 파일이 포함됨)이 있는 Android 스튜디오 Iguana의 최신 미리보기를 사용하세요.

라이브러리 가져오기

Google 생성형 AI 라이브러리를 가져옵니다.

Kotlin

// other imports...
import com.google.ai.client.generativeai.GenerativeModel

자바

// other imports...
import com.google.ai.client.generativeai.GenerativeModel;
import com.google.ai.client.generativeai.java.GenerativeModelFutures;
import com.google.ai.client.generativeai.type.Content;
import com.google.ai.client.generativeai.type.GenerateContentResponse;

첫 번째 요청하기

generateContent 메서드를 사용하여 텍스트를 생성합니다.

Kotlin

generateContent()는 정지 함수이므로 코루틴 범위에서 호출해야 합니다. 코루틴에 익숙하지 않다면 Android의 Kotlin 코루틴을 읽어보세요.

    val generativeModel =
    GenerativeModel(
        // Specify a Gemini model appropriate for your use case
        modelName = "gemini-1.5-flash",
        // Access your API key as a Build Configuration variable (see "Set up your API key" above)
        apiKey = BuildConfig.apiKey)

val prompt = "Write a story about a magic backpack."
val response = generativeModel.generateContent(prompt)
print(response.text)

자바

generateContent()에서 ListenableFuture를 반환합니다. 이 API에 대해 잘 모르는 경우 ListenableFuture 사용에 관한 Android 문서를 참고하세요.

    // Specify a Gemini model appropriate for your use case
GenerativeModel gm =
    new GenerativeModel(
        /* modelName */ "gemini-1.5-flash",
        // Access your API key as a Build Configuration variable (see "Set up your API key"
        // above)
        /* apiKey */ BuildConfig.apiKey);
GenerativeModelFutures model = GenerativeModelFutures.from(gm);

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

// For illustrative purposes only. You should use an executor that fits your needs.
Executor executor = Executors.newSingleThreadExecutor();

ListenableFuture<GenerateContentResponse> response = model.generateContent(content);
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 API에 요청할 준비가 되었으므로 Gemini API의 모든 기능을 사용하여 앱과 워크플로를 빌드할 수 있습니다. Gemini API 기능을 시작하려면 다음 가이드를 참고하세요.

Gemini API 메서드 및 요청 매개변수에 관한 자세한 문서는 API 참조의 가이드를 참고하세요.