Panduan memulai Gemini API

Panduan memulai ini menunjukkan cara memulai Gemini API menggunakan SDK pilihan Anda.

Prasyarat

Python

Lihat di AI Google Menjalankan di Google Colab Lihat notebook di GitHub

Untuk menyelesaikan panduan memulai ini secara lokal, pastikan lingkungan pengembangan Anda memenuhi persyaratan berikut:

  • Python 3.9 dan yang lebih baru
  • Penginstalan jupyter untuk menjalankan notebook.

Go

Panduan memulai ini mengasumsikan bahwa Anda sudah memahami cara membangun aplikasi dengan Go.

Untuk menyelesaikan panduan memulai ini, pastikan lingkungan pengembangan Anda memenuhi persyaratan berikut:

  • Buka versi 1.20 dan yang lebih baru

Node.js

Panduan memulai ini mengasumsikan bahwa Anda sudah memahami cara membangun aplikasi dengan Node.js.

Untuk menyelesaikan panduan memulai ini, pastikan lingkungan pengembangan Anda memenuhi persyaratan berikut:

  • Node.js v18+
  • npm

Web

Panduan memulai ini mengasumsikan bahwa Anda sudah memahami penggunaan JavaScript untuk mengembangkan aplikasi web. Panduan ini tidak bergantung pada framework.

Untuk menyelesaikan panduan memulai ini, pastikan lingkungan pengembangan Anda memenuhi persyaratan berikut:

  • (Opsional) Node.js
  • Browser web modern

Dart (Flutter)

Panduan memulai ini mengasumsikan bahwa Anda telah memahami cara membangun aplikasi dengan Dart.

Untuk menyelesaikan panduan memulai ini, pastikan lingkungan pengembangan Anda memenuhi persyaratan berikut:

  • Dart 3.2.0+

Swift

Panduan memulai ini mengasumsikan bahwa Anda sudah terbiasa menggunakan Xcode untuk mengembangkan aplikasi Swift.

Untuk menyelesaikan panduan memulai ini, pastikan lingkungan pengembangan dan aplikasi Swift Anda memenuhi persyaratan berikut:

  • Xcode 15.0 atau yang lebih tinggi
  • Aplikasi Swift Anda harus menargetkan iOS 15 atau yang lebih tinggi, atau macOS 12 atau yang lebih tinggi.

Android

Panduan memulai ini mengasumsikan bahwa Anda sudah terbiasa menggunakan Android Studio untuk mengembangkan aplikasi Android.

Untuk menyelesaikan panduan memulai ini, pastikan lingkungan pengembangan dan aplikasi Android Anda memenuhi persyaratan berikut:

  • Android Studio (versi terbaru)
  • Aplikasi Android Anda harus menargetkan API level 21 atau yang lebih tinggi.

Menyiapkan kunci API

Untuk menggunakan Gemini API, Anda memerlukan kunci API. Jika Anda belum memilikinya, buat kunci di Google AI Studio.

Mendapatkan kunci API

Kemudian, konfigurasikan kunci Anda.

Python

Sebaiknya Anda tidak melakukan check in kunci API ke dalam sistem kontrol versi Anda. Panduan memulai ini mengasumsikan bahwa Anda mengakses kunci API sebagai variabel lingkungan.

Tetapkan kunci API Anda ke variabel lingkungan:

export API_KEY=<YOUR_API_KEY>

Go

Sebaiknya Anda tidak melakukan check in kunci API ke dalam sistem kontrol versi Anda. Panduan memulai ini mengasumsikan bahwa Anda mengakses kunci API sebagai variabel lingkungan.

Tetapkan kunci API Anda ke variabel lingkungan:

export API_KEY=<YOUR_API_KEY>

Node.js

Sebaiknya Anda tidak melakukan check in kunci API ke dalam sistem kontrol versi Anda. Panduan memulai ini mengasumsikan bahwa Anda mengakses kunci API sebagai variabel lingkungan.

Tetapkan kunci API Anda ke variabel lingkungan:

export API_KEY=<YOUR_API_KEY>

Web

Sebaiknya Anda tidak melakukan check in kunci API ke dalam sistem kontrol versi Anda. Sebagai gantinya, Anda harus meneruskan kunci API ke aplikasi tepat sebelum menginisialisasi model tersebut.

Panduan memulai ini mengasumsikan bahwa Anda mengakses kunci API sebagai konstanta global.

Dart (Flutter)

Sebaiknya Anda tidak melakukan check in kunci API ke dalam sistem kontrol versi Anda. Panduan memulai ini mengasumsikan bahwa Anda mengakses kunci API sebagai variabel lingkungan proses. Jika mengembangkan aplikasi Flutter, Anda dapat menggunakan String.fromEnvironment dan meneruskan --dart-define=API_KEY=$API_KEY ke flutter build atau flutter run untuk mengompilasi dengan kunci API karena lingkungan prosesnya akan berbeda saat menjalankan aplikasi.

Swift

Sebaiknya Anda tidak melakukan check in kunci API ke dalam sistem kontrol versi Anda. Salah satu opsi alternatifnya adalah menyimpannya dalam file GenerativeAI-Info.plist, lalu membaca kunci API dari file .plist. Pastikan untuk menempatkan file .plist ini dalam folder root aplikasi Anda dan kecualikan dari kontrol versi.

enum APIKey {
   // Fetch the API key from `GenerativeAI-Info.plist`
   static var `default`: String {
      guard let filePath = Bundle.main.path(forResource: "GenerativeAI-Info", ofType: "plist")
      else {
         fatalError("Couldn't find file 'GenerativeAI-Info.plist'.")
      }
      let plist = NSDictionary(contentsOfFile: filePath)
      guard let value = plist?.object(forKey: "API_KEY") as? String else {
         fatalError("Couldn't find key 'API_KEY' in 'GenerativeAI-Info.plist'.")
      }
      if value.starts(with: "_") {
         fatalError(
           "Follow the instructions at https://ai.google.dev/tutorials/setup to get an API key."
         )
      }
      return value
   }
}

Android

Sebaiknya Anda tidak melakukan check in kunci API ke dalam sistem kontrol versi Anda. Sebaiknya simpan kunci API dalam file local.properties (yang terletak di direktori utama project, tetapi dikecualikan dari kontrol versi), lalu gunakan plugin Secrets Gradle untuk Android untuk membaca kunci API Anda sebagai variabel Konfigurasi Build.

Kotlin:

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

Java:

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

Jika ingin melihat implementasi plugin Secrets Gradle, Anda dapat meninjau aplikasi contoh untuk SDK ini atau menggunakan pratinjau terbaru Android Studio Iguana yang memiliki template Gemini API Starter (yang mencakup file local.properties untuk membantu Anda memulai).

Menginstal SDK

Python

Python SDK untuk Gemini API terdapat dalam paket google-generativeai. Instal dependensi menggunakan pip:

pip install -q -U google-generativeai

Go

Untuk menggunakan Gemini API di aplikasi sendiri, Anda perlu get paket Go SDK di direktori modul:

go get github.com/google/generative-ai-go

Node.js

Untuk menggunakan Gemini API di aplikasi sendiri, Anda harus menginstal paket GoogleGenerativeAI untuk Node.js:

npm install @google/generative-ai

Web

Untuk menggunakan Gemini API di aplikasi web Anda sendiri, impor @google/generative-ai:

<script type="importmap">
   {
     "imports": {
       "@google/generative-ai": "https://esm.run/@google/generative-ai"
     }
   }
</script>

Dart (Flutter)

Untuk menggunakan Gemini API di aplikasi sendiri, Anda harus melakukan add paket google_generative_ai ke aplikasi Dart atau Flutter Anda:

Dart:

dart pub add google_generative_ai

Flutter:

flutter pub add google_generative_ai

Swift

Untuk menggunakan Gemini API di aplikasi Swift Anda sendiri, tambahkan paket GoogleGenerativeAI ke aplikasi Anda:

  1. Di Xcode, klik kanan pada project Anda di navigator project.

  2. Pilih Add Packages dari menu konteks.

  3. Dalam dialog Add Packages, tempel URL paket di kotak penelusuran: none https://github.com/google/generative-ai-swift

  4. Klik Add Package. Xcode sekarang akan menambahkan paket GoogleGenerativeAI ke project Anda.

Android

  1. Dalam file konfigurasi Gradle modul (level aplikasi) Anda (seperti <project>/<app-module>/build.gradle.kts), tambahkan dependensi untuk Google AI SDK untuk Android:

    Kotlin:

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

    Java:

    Untuk Java, Anda perlu menambahkan dua library tambahan.

    dependencies {
    
        // add the dependency for the Google AI client SDK for Android
        implementation("com.google.ai.client.generativeai:generativeai:0.3.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. Sinkronkan project Android Anda dengan file Gradle.

Menginisialisasi model generatif

Python

Sebelum dapat melakukan panggilan API, Anda perlu mengimpor dan menginisialisasi model generatif.

import google.generativeai as genai

genai.configure(api_key=os.environ["API_KEY"])
model = genai.GenerativeModel('gemini-pro')

Go

Sebelum dapat melakukan panggilan API, Anda perlu mengimpor dan menginisialisasi model generatif.

import "github.com/google/generative-ai-go/genai"
import "google.golang.org/api/option"

ctx := context.Background()
// Access your API key as an environment variable (see "Set up your API key" above)
client, err := genai.NewClient(ctx, option.WithAPIKey(os.Getenv("API_KEY")))
if err != nil {
    log.Fatal(err)
}
defer client.Close()

// For text-only input, use the gemini-pro model
model := client.GenerativeModel("gemini-pro")

Node.js

Sebelum dapat melakukan panggilan API, Anda perlu mengimpor dan menginisialisasi model generatif.

const { GoogleGenerativeAI } = require("@google/generative-ai");

// Access your API key as an environment variable (see "Set up your API key" above)
const genAI = new GoogleGenerativeAI(process.env.API_KEY);

// ...

// For text-only input, use the gemini-pro model
const model = genAI.getGenerativeModel({ model: "gemini-pro"});

// ...

Web

Sebelum dapat melakukan panggilan API, Anda perlu mengimpor dan menginisialisasi model generatif.

<html>
<body>
   <!-- ... Your HTML and CSS -->
   <!-- Import @google/generative-ai, as shown above. -->
   <script type="module">
      import { GoogleGenerativeAI } from "@google/generative-ai";

      // Fetch your API_KEY
      const API_KEY = "...";

      // Access your API key (see "Set up your API key" above)
      const genAI = new GoogleGenerativeAI(API_KEY);

      // ...

      // For text-only input, use the gemini-pro model
      const model = genAI.getGenerativeModel({ model: "gemini-pro"});

      // ...
   </script>
</body>
</html>

Dart (Flutter)

Sebelum dapat melakukan panggilan API, Anda perlu mengimpor dan menginisialisasi model generatif.

import 'package:google_generative_ai/google_generative_ai.dart';

// Access your API key as an environment variable (see "Set up your API key" above)
final apiKey = Platform.environment['API_KEY'];
if (apiKey == null) {
  print('No \$API_KEY environment variable');
  exit(1);
}

// For text-only input, use the gemini-pro model
final model = GenerativeModel(model: 'gemini-pro', apiKey: apiKey);

Swift

Sebelum dapat melakukan panggilan API, Anda perlu menginisialisasi model generatif.

  1. Impor modul GoogleAI:

    import GoogleGenerativeAI
    
  2. Lakukan inisialisasi model generatif:

    // For text-only input, use the gemini-pro model
    // Access your API key from your on-demand resource .plist file (see "Set up your API key" above)
    let model = GenerativeModel(name: "gemini-pro", apiKey: APIKey.default)
    

Android

Sebelum dapat melakukan panggilan API, Anda harus melakukan inisialisasi objek GenerativeModel:

Kotlin:

val generativeModel = GenerativeModel(
      // For text-only input, use the gemini-pro model
      modelName = "gemini-pro",
      // Access your API key as a Build Configuration variable (see "Set up your API key" above)
      apiKey = BuildConfig.apiKey
)

Java:

Untuk Java, Anda juga perlu melakukan inisialisasi objek GenerativeModelFutures.

// For text-only input, use the gemini-pro model
GenerativeModel gm = new GenerativeModel(/* modelName */ "gemini-pro",
// Access your API key as a Build Configuration variable (see "Set up your API key" above)
      /* apiKey */ BuildConfig.apiKey);

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

Membuat teks

Python

response = model.generate_content("Write a story about a magic backpack.")
print(response.text)

Go

resp, err := model.GenerateContent(ctx, genai.Text("Write a story about a magic backpack."))
if err != nil {
  log.Fatal(err)
}

Node.js

async function run() {
  const prompt = "Write a story about a magic backpack."

  const result = await model.generateContent(prompt);
  const response = await result.response;
  const text = response.text();
  console.log(text);
}

run();

Web

async function run() {
  const prompt = "Write a story about a magic backpack."

  const result = await model.generateContent(prompt);
  const response = await result.response;
  const text = response.text();
  console.log(text);
}

run();

Dart (Flutter)

void main() async {
   // Access your API key as an environment variable (see "Set up your API key" above)
   final apiKey = Platform.environment['API_KEY'];
   if (apiKey == null) {
      print('No \$API_KEY environment variable');
      exit(1);
   }
   // For text-only input, use the gemini-pro model
   final model = GenerativeModel(model: 'gemini-pro', apiKey: apiKey);
   final content = [Content.text('Write a story about a magic backpack.')];
   final response = await model.generateContent(content);
   print(response.text);
}

Swift

let prompt = "Write a story about a magic backpack."
let response = try await model.generateContent(prompt)
if let text = response.text {
  print(text)
}

Android

Kotlin:

Perhatikan bahwa generateContent() adalah fungsi penangguhan dan perlu dipanggil dari cakupan Coroutine. Jika Anda belum terbiasa dengan Coroutine, baca Coroutine Kotlin di Android.

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

Java:

Perhatikan bahwa generateContent() menampilkan ListenableFuture. Jika Anda tidak terbiasa dengan API ini, lihat dokumentasi Android tentang Menggunakan ListenableFuture.

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

Executor executor = // ...

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);

Langkah selanjutnya

Untuk mempelajari lebih lanjut cara menggunakan Gemini API, lihat tutorial untuk bahasa pilihan Anda.

Anda juga dapat menggunakan perintah curl untuk mencoba Gemini API:

Jika baru mengenal model AI generatif, Anda mungkin ingin membaca panduan konsep dan ringkasan Gemini API sebelum mencoba panduan memulai.