המדריך למתחילים של Gemini API

במדריך למתחילים הזה נסביר איך מתחילים להשתמש ב-Gemini API באמצעות ה-SDK שבחרתם.


דרישות מוקדמות

במדריך למתחילים הזה אנו מניחים שאתם יודעים איך משתמשים ב-Android Studio כדי לפתח אפליקציות ל-Android.

כדי להשלים את המדריך למתחילים הזה, צריך לוודא שסביבת הפיתוח והאפליקציה ל-Android עומדות בדרישות הבאות:

  • Android Studio (הגרסה האחרונה)
  • האפליקציה ל-Android חייבת לטרגט ל-API ברמה 21 ומעלה.

כדאי לנסות לגשת ל-Gemini במכשיר

ערכת ה-SDK ללקוח ל-Android שמתוארת במדריך הזה מאפשרת לגשת למודלים של Gemini שפועלים בשרתים של Google. בתרחישי שימוש שכוללים עיבוד של מידע אישי רגיש, זמינות אופליין או חיסכון בעלויות של תהליכי שימוש נפוצים, מומלץ להשתמש ב-Gemini Nano שפועל במכשיר. פרטים נוספים זמינים בדף Android (במכשיר).

התקנת Google AI SDK

  1. בקובץ התצורה של Gradle במודול (ברמת האפליקציה) (למשל <project>/<app-module>/build.gradle.kts), מוסיפים את התלות ב-Google AI SDK ל-Android:

    Kotlin

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

    Java

    ב-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 במערכת לבקרת גרסאות. במקום זאת, כדאי לאחסן אותו בקובץ local.properties (שנמצא בספריית השורש של הפרויקט, אבל לא נכלל בבקרת הגרסאות), ואז להשתמש בPlugin של Gradle ל-Secrets ל-Android כדי לקרוא את מפתח ה-API כמשתנה של הגדרת 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;

כדי לראות את ההטמעה של הפלאגין של Secrets Gradle, אפשר לעיין באפליקציה לדוגמה של ה-SDK הזה או להשתמש בתצוגה המקדימה האחרונה של Android Studio Iguana, שכוללת תבנית ל-Gemini API Starter (שכוללת את הקובץ local.properties לתחילת העבודה).

ייבוא הספרייה

מייבאים את ספריית הבינה המלאכותית הגנרטיבית של Google.

Kotlin

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

Java

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

שליחת הבקשה הראשונה

משתמשים ב-method‏ generateContent כדי ליצור טקסט.

Kotlin

generateContent() היא פונקציית השהיה, וצריך לקרוא לה מטווח של קורוטין. אם אתם לא מכירים את פונקציות Coroutines, כדאי לקרוא את המאמר פונקציות Coroutines ב-Kotlin ב-Android.

    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)

Java

הפונקציה generateContent() מחזירה ListenableFuture. אם אתם לא מכירים את ממשק ה-API הזה, תוכלו לעיין במסמכי התיעוד של Android בנושא שימוש ב-ListenableFuture.

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