Gemini API hızlı başlangıç kılavuzu

Bu hızlı başlangıç kılavuzu, istediğiniz SDK'yı kullanarak Gemini API'yi kullanmaya nasıl başlayacağınızı gösterir.

Ön koşullar

Python

Google Yapay Zeka'da görüntüle Google Colab'de çalıştır GitHub'da not defterini görüntüle

Bu hızlı başlangıç kılavuzunu yerel olarak tamamlamak için geliştirme ortamınızın aşağıdaki gereksinimleri karşıladığından emin olun:

  • Python 3.9 ve üzeri
  • Not defterini çalıştırmak için jupyter yüklemesi.

Go

Bu hızlı başlangıç kılavuzunda, Go ile uygulama derleme hakkında bilgi sahibi olduğunuz varsayılır.

Bu hızlı başlangıç kılavuzunu tamamlamak için geliştirme ortamınızın aşağıdaki gereksinimleri karşıladığından emin olun:

  • 1.20 ve üzeri sürümler

Node.js

Bu hızlı başlangıç kılavuzu, Node.js ile uygulama derleme hakkında bilgi sahibi olduğunuzu varsayar.

Bu hızlı başlangıç kılavuzunu tamamlamak için geliştirme ortamınızın aşağıdaki gereksinimleri karşıladığından emin olun:

  • Node.js v18 ve sonraki sürümleri
  • npm

Web

Bu hızlı başlangıç kılavuzunda, web uygulamaları geliştirmek için JavaScript kullanmaya aşina olduğunuz varsayılır. Bu kılavuz, çerçeveden bağımsızdır.

Bu hızlı başlangıç kılavuzunu tamamlamak için geliştirme ortamınızın aşağıdaki gereksinimleri karşıladığından emin olun:

  • (İsteğe bağlı) Node.js
  • Modern web tarayıcısı

Dart (Flutter)

Bu hızlı başlangıç kılavuzu, Dart ile uygulama derleme konusunda bilgi sahibi olduğunuzu varsayar.

Bu hızlı başlangıç kılavuzunu tamamlamak için geliştirme ortamınızın aşağıdaki gereksinimleri karşıladığından emin olun:

  • Dart 3.2.0 ve üzeri

Swift

Bu hızlı başlangıç kılavuzunda, Swift uygulamaları geliştirmek için Xcode kullanmayı bildiğiniz varsayılmaktadır.

Bu hızlı başlangıç kılavuzunu tamamlamak için geliştirme ortamınızın ve Swift uygulamanızın aşağıdaki gereksinimleri karşıladığından emin olun:

  • Xcode 15.0 veya üstü
  • Swift uygulamanız iOS 15 veya sonraki sürümleri ya da macOS 12 veya sonraki sürümleri hedeflemelidir.

Android

Bu hızlı başlangıç kılavuzunda, Android uygulamaları geliştirmek için Android Studio'nun nasıl kullanıldığı konusunda bilgi sahibi olduğunuz varsayılır.

Bu hızlı başlangıç kılavuzunu tamamlamak için geliştirme ortamınızın ve Android uygulamanızın aşağıdaki gereksinimleri karşıladığından emin olun:

  • Android Studio (en son sürüm)
  • Android uygulamanız API düzeyi 21 veya üstünü hedeflemelidir.

API anahtarınızı oluşturma

Gemini API'yi kullanmak için API anahtarı gerekir. Anahtarınız yoksa Google AI Studio'da bir anahtar oluşturun.

API anahtarı alma

Ardından anahtarınızı yapılandırın.

Python

Sürüm kontrol sisteminizde bir API anahtarını kontrol etmemeniz kesinlikle önerilir. Bu hızlı başlangıç kılavuzunda, API anahtarınıza ortam değişkeni olarak eriştiğiniz varsayılır.

API anahtarınızı bir ortam değişkenine atayın:

export API_KEY=<YOUR_API_KEY>

Go

Sürüm kontrol sisteminizde bir API anahtarını kontrol etmemeniz kesinlikle önerilir. Bu hızlı başlangıç kılavuzunda, API anahtarınıza ortam değişkeni olarak eriştiğiniz varsayılır.

API anahtarınızı bir ortam değişkenine atayın:

export API_KEY=<YOUR_API_KEY>

Node.js

Sürüm kontrol sisteminizde bir API anahtarını kontrol etmemeniz kesinlikle önerilir. Bu hızlı başlangıç kılavuzunda, API anahtarınıza ortam değişkeni olarak eriştiğiniz varsayılır.

API anahtarınızı bir ortam değişkenine atayın:

export API_KEY=<YOUR_API_KEY>

Web

Sürüm kontrol sisteminizde bir API anahtarını kontrol etmemeniz kesinlikle önerilir. Bunun yerine, modeli başlatmadan hemen önce API anahtarınızı uygulamanıza iletmeniz gerekir.

Bu hızlı başlangıç kılavuzunda, API anahtarınıza global sabit olarak eriştiğiniz varsayılır.

Dart (Flutter)

Sürüm kontrol sisteminizde bir API anahtarını kontrol etmemeniz kesinlikle önerilir. Bu hızlı başlangıç kılavuzunda, API anahtarınıza işlem ortam değişkeni olarak eriştiğiniz varsayılmıştır. Flutter uygulaması geliştiriyorsanız String.fromEnvironment uygulamasını kullanabilir ve uygulamayı çalıştırırken işlem ortamı farklı olacağından API anahtarıyla derlemek için --dart-define=API_KEY=$API_KEY öğesini flutter build veya flutter run öğesine iletebilirsiniz.

Swift

Sürüm kontrol sisteminizde bir API anahtarını kontrol etmemeniz kesinlikle önerilir. Alternatif bir seçenek de bunu bir GenerativeAI-Info.plist dosyasında depolamak ve ardından API anahtarını .plist dosyasından okumaktır. Bu .plist dosyasını uygulamanızın kök klasörüne yerleştirdiğinizden ve sürüm kontrolünden hariç tuttuğunuzdan emin olun.

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

Sürüm kontrol sisteminizde bir API anahtarını kontrol etmemeniz kesinlikle önerilir. Bunun yerine, bunu bir local.properties dosyasında depolamanız (projenizin kök dizininde bulunur ancak sürüm kontrolü dışında bulunur) ve ardından API anahtarınızı Derleme Yapılandırması değişkeni olarak okumak için Android için Secrets Gradle eklentisini kullanmanız gerekir.

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;

Secrets Gradle eklentisinin nasıl uygulandığını görmek isterseniz bu SDK için örnek uygulamayı inceleyebilir veya Android Studio Iguana'nın Gemini API Starter şablonuna (başlamanız için local.properties dosyasını içerir) sahip en son önizlemesini kullanabilirsiniz.

SDK'yı yükleyin

Python

Gemini API için Python SDK, google-generativeai paketinde yer alır. Pip kullanarak bağımlılığı yükleyin:

pip install -q -U google-generativeai

Go

Gemini API'yi kendi uygulamanızda kullanmak için modül dizininizdeki Go SDK paketini get işlemi yapmanız gerekir:

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

Node.js

Gemini API'yi kendi uygulamanızda kullanmak için Node.js için GoogleGenerativeAI paketini yüklemeniz gerekir:

npm install @google/generative-ai

Web

Gemini API'yi kendi web uygulamanızda kullanmak için @google/generative-ai dosyasını içe aktarın:

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

Dart (Flutter)

Gemini API'yi kendi uygulamanızda kullanmak için google_generative_ai paketini Dart veya Flutter uygulamanıza add eklemeniz gerekir:

Dart:

dart pub add google_generative_ai

Flutter:

flutter pub add google_generative_ai

Swift

Gemini API'yi kendi Swift uygulamanızda kullanmak için GoogleGenerativeAI paketini uygulamanıza ekleyin:

  1. Xcode'da proje gezgininde projenizi sağ tıklayın.

  2. İçerik menüsünden Paket Ekle'yi seçin.

  3. Paket Ekle iletişim kutusundaki arama çubuğuna paket URL'sini yapıştırın: none https://github.com/google/generative-ai-swift

  4. Paket Ekle'yi tıklayın. Xcode şimdi projenize GoogleGenerativeAI paketini ekleyecektir.

Android

  1. Modül (uygulama düzeyi) Gradle yapılandırma dosyanıza (ör. <project>/<app-module>/build.gradle.kts) Android için Google AI SDK'sının bağımlılığını ekleyin:

    Kotlin:

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

    Java:

    Java için iki ek kitaplık eklemeniz gerekir.

    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. Android projenizi Gradle dosyalarıyla senkronize edin.

Üretken modeli ilk kullanıma hazırlama

Python

Herhangi bir API çağrısı yapabilmeniz için önce üretici modeli içe aktarıp başlatmanız gerekir.

import google.generativeai as genai

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

Go

Herhangi bir API çağrısı yapabilmeniz için önce üretici modeli içe aktarıp başlatmanız gerekir.

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

Herhangi bir API çağrısı yapabilmeniz için önce üretici modeli içe aktarıp başlatmanız gerekir.

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

Herhangi bir API çağrısı yapabilmeniz için önce üretici modeli içe aktarıp başlatmanız gerekir.

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

Herhangi bir API çağrısı yapabilmeniz için önce üretici modeli içe aktarıp başlatmanız gerekir.

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

API çağrısı yapabilmek için üretici modeli ilk kullanıma hazırlamanız gerekir.

  1. GoogleAI modülünü içe aktarma:

    import GoogleGenerativeAI
    
  2. Üretken modeli ilk kullanıma hazırlayın:

    // 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

API çağrısı yapabilmek için GenerativeModel nesnesini başlatmanız gerekir:

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:

Java için GenerativeModelFutures nesnesini başlatmanız da gerekir.

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

Metin oluştur

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:

generateContent() işlevinin bir askıya alma işlevi olduğunu ve Coroutine kapsamından çağrılması gerektiğini unutmayın. Coroutines hakkında bilginiz yoksa Android'de Kotlin Coroutines makalesini okuyun.

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

Java:

generateContent() işlevinin bir ListenableFuture döndürdüğünü unutmayın. Bu API hakkında bilginiz yoksa ListenableFuture kullanma hakkındaki Android belgelerine bakın.

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

Sırada ne var?

Gemini API ile çalışma hakkında daha fazla bilgi edinmek için seçtiğiniz dile ilişkin eğiticiye göz atın.

Gemini API'yi denemek için curl komutlarını da kullanabilirsiniz:

Üretken yapay zeka modellerini kullanmaya yeni başladıysanız hızlı başlangıç kılavuzundan önce kavramlar kılavuzuna ve Gemini API'ye genel bakışa göz atabilirsiniz.