במדריך למתחילים הזה נסביר איך מתחילים להשתמש ב-Gemini API באמצעות ה-SDK שבחרתם.
דרישות מוקדמות
במדריך למתחילים הזה אנו מניחים שאתם יודעים איך משתמשים ב-Android Studio כדי לפתח אפליקציות ל-Android.
כדי להשלים את המדריך למתחילים הזה, צריך לוודא שסביבת הפיתוח והאפליקציה ל-Android עומדות בדרישות הבאות:
- Android Studio (הגרסה האחרונה)
- האפליקציה ל-Android חייבת לטרגט ל-API ברמה 21 ומעלה.
כדאי לנסות לגשת ל-Gemini במכשיר
ערכת ה-SDK ללקוח ל-Android שמתוארת במדריך הזה מאפשרת לגשת למודלים של Gemini שפועלים בשרתים של Google. בתרחישי שימוש שכוללים עיבוד של מידע אישי רגיש, זמינות אופליין או חיסכון בעלויות של תהליכי שימוש נפוצים, מומלץ להשתמש ב-Gemini Nano שפועל במכשיר. פרטים נוספים זמינים בדף Android (במכשיר).
התקנת ה-SDK של Gemini API
בקובץ התצורה של 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") }
סנכרון הפרויקט ב-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;
שליחת הבקשה הראשונה
משתמשים בשיטה 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, כדאי לעיין במדריכים הבאים:
במדריכים בנושא API יש הסבר מפורט על השיטות של Gemini API ועל הפרמטרים של הבקשות.