במדריך הזה מוסבר איך להתחיל לבצע קריאות ל-Vertex AI Gemini API ישירות מהאפליקציה באמצעות ה-SDK של Vertex AI in Firebase לפלטפורמה שבחרתם.
דרישות מוקדמות
במדריך הזה אנחנו יוצאים מנקודת הנחה שאתם מכירים את השימוש ב-Android Studio לפיתוח אפליקציות ל-Android.
ודאו שסביבת הפיתוח ואפליקציית Android עומדות בדרישות הבאות:
- Android Studio (הגרסה האחרונה)
- האפליקציה ל-Android חייבת לטרגט ל-API ברמה 21 ומעלה.
(אופציונלי) תוכלו לבדוק את האפליקציה לדוגמה.
אתם יכולים לנסות את ה-SDK במהירות, לראות הטמעה מלאה של תרחישים שונים לדוגמה או להשתמש באפליקציית הדוגמה אם אין לכם אפליקציה משלכם ל-Android. כדי להשתמש באפליקציית הדוגמה, תצטרכו לקשר אותה לפרויקט Firebase.
שלב 1: מגדירים פרויקט Firebase ומקשרים את האפליקציה ל-Firebase
אם כבר יש לכם פרויקט Firebase ואפליקציה שמחוברת ל-Firebase
במסוף Firebase, עוברים לדף Build with Gemini.
לוחצים על הכרטיס Vertex AI in Firebase כדי להפעיל תהליך עבודה שיעזור לכם לבצע את המשימות הבאות:
משדרגים את הפרויקט לתוכנית התמחור Blaze בתשלום לפי שימוש.
מפעילים את ממשקי ה-API הנדרשים בפרויקט (Vertex AI API ו-Vertex AI in Firebase API).
עוברים לשלב הבא במדריך כדי להוסיף את ה-SDK לאפליקציה.
אם עדיין אין לכם פרויקט Firebase ואפליקציה שמקושרת ל-Firebase
שלב 2: מוסיפים את ה-SDK
אחרי שהגדרתם את הפרויקט ב-Firebase והאפליקציה שלכם מחוברת ל-Firebase (ראו שלב קודם), עכשיו אתם יכולים להוסיף לאפליקציה את ה-SDK של Vertex AI in Firebase.
Vertex AI in Firebase SDK ל-Android (firebase-vertexai
) מספק גישה ל-Vertex AI Gemini API.
בקובץ Gradle של המודול (ברמת האפליקציה) (כמו <project>/<app-module>/build.gradle.kts
), מוסיפים את התלות בספרייה Vertex AI in Firebase ל-Android.
מומלץ להשתמש ב-Firebase Android BoM כדי לשלוט בניהול הגרסאות של הספרייה.
Kotlin+KTX
dependencies { // ... other androidx dependencies // Import the BoM for the Firebase platform implementation(platform("com.google.firebase:firebase-bom:33.6.0")) // Add the dependency for the Vertex AI in Firebase library // When using the BoM, you don't specify versions in Firebase library dependencies implementation("com.google.firebase:firebase-vertexai") }
Java
ב-Java, צריך להוסיף עוד שתי ספריות.
dependencies { // ... other androidx dependencies // Import the BoM for the Firebase platform implementation(platform("com.google.firebase:firebase-bom:33.6.0")) // Add the dependency for the Vertex AI in Firebase library // When using the BoM, you don't specify versions in Firebase library dependencies implementation("com.google.firebase:firebase-vertexai") // 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") }
כשמשתמשים ב-Firebase Android BoM, האפליקציה תמיד תשתמש בגרסאות תואמות של ספריות Firebase ל-Android.
שלב 3: הפעלה של השירות Vertex AI והמודל הגנרטיבי
לפני שתוכלו לבצע קריאות API, תצטרכו לאתחל את השירות Vertex AI ואת המודל הגנרטיבי.
Kotlin+KTX
ב-Kotlin, השיטות ב-SDK הזה הן פונקציות השהיה (suspend), וצריך לקרוא להן מהיקף של פונקציית אירוע (coroutine).// Initialize the Vertex AI service and the generative model
// Specify a model that supports your use case
// Gemini 1.5 models are versatile and can be used with all API capabilities
val generativeModel = Firebase.vertexAI.generativeModel("gemini-1.5-flash")
Java
ב-Java, שיטות הסטרימינג ב-SDK הזה מחזירות את הטיפוסPublisher
מספריית Reactive Streams.
// Initialize the Vertex AI service and the generative model
// Specify a model that supports your use case
// Gemini 1.5 models are versatile and can be used with all API capabilities
GenerativeModel gm = FirebaseVertexAI.getInstance()
.generativeModel("gemini-1.5-flash");
// Use the GenerativeModelFutures Java compatibility layer which offers
// support for ListenableFuture and Publisher APIs
GenerativeModelFutures model = GenerativeModelFutures.from(gm);
כשתסיימו לקרוא את המדריך לתחילת העבודה, נסביר איך לבחור מודל Gemini (ואופציונלי) גם מיקום שמתאים לתרחיש לדוגמה ולאפליקציה שלכם.
שלב 4: קוראים לפונקציה Vertex AI Gemini API
אחרי שחברתם את האפליקציה ל-Firebase, הוספתם את ה-SDK ואתחלתם את השירות Vertex AI ואת המודל הגנרטיבי, אתם מוכנים לבצע קריאה ל-Vertex AI Gemini API.
אפשר להשתמש ב-generateContent()
כדי ליצור טקסט מבקשת של הנחיה בטקסט בלבד:
Kotlin+KTX
ב-Kotlin, השיטות ב-SDK הזה הן פונקציות השהיה (suspend), וצריך לקרוא להן מהיקף של פונקציית אירוע (coroutine).// Initialize the Vertex AI service and the generative model
// Specify a model that supports your use case
// Gemini 1.5 models are versatile and can be used with all API capabilities
val generativeModel = Firebase.vertexAI.generativeModel("gemini-1.5-flash")
// Provide a prompt that contains text
val prompt = "Write a story about a magic backpack."
// To generate text output, call generateContent with the text input
val response = generativeModel.generateContent(prompt)
print(response.text)
Java
ב-Java, השיטות ב-SDK הזה מחזירותListenableFuture
.
// Initialize the Vertex AI service and the generative model
// Specify a model that supports your use case
// Gemini 1.5 models are versatile and can be used with all API capabilities
GenerativeModel gm = FirebaseVertexAI.getInstance()
.generativeModel("gemini-1.5-flash");
GenerativeModelFutures model = GenerativeModelFutures.from(gm);
// Provide a prompt that contains text
Content prompt = new Content.Builder()
.addText("Write a story about a magic backpack.")
.build();
// To generate text output, call generateContent with the text input
ListenableFuture<GenerateContentResponse> response = model.generateContent(prompt);
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
כאן תוכלו לקרוא מידע נוסף על המודלים הזמינים לתרחישי שימוש שונים, ועל המכסות והתמחור שלהם.
ניסיון ביכולות אחרות של Gemini API
- מידע נוסף על יצירת טקסט מבקשות טקסט בלבד, כולל הסבר על סטרימינג של התשובה
- יצירת טקסט מהנחיות מולטימודיאליות (כולל טקסט, תמונות, קובצי PDF, וידאו ואודיו).
- יצירה של שיחות מרובות פניות (צ'אט).
- יצירת פלט מובנה (כמו JSON) גם מהנחיות טקסט וגם מהנחיות מולטימודליות.
- משתמשים בקריאה לפונקציה כדי לחבר מודלים גנרטיביים למערכות ולמידע חיצוניים.
איך שולטים ביצירת תוכן
- הסבר על תכנון הנחיות, כולל שיטות מומלצות, אסטרטגיות והנחיות לדוגמה.
- להגדיר את הפרמטרים של המודל, כמו הטמפרטורה ואת מספר האסימונים המקסימלי של הפלט.
- משתמשים בהגדרות בטיחות כדי לשנות את הסבירות שתתקבל תגובות שעלולות להיחשב מזיקות.
שליחת משוב על חוויית השימוש ב-Vertex AI in Firebase