ערכות ה-SDK של Vertex AI in Firebase נותנות לכם גישה למודלים של Imagen 3 (דרך Imagen API) כדי שתוכלו ליצור תמונות מהנחיית טקסט. בעזרת היכולת הזו תוכלו לבצע פעולות כמו:
- יצירת תמונות מהנחיות שנכתבות בשפה טבעית
- יצירת תמונות במגוון רחב של פורמטים וסגנונות
- רינדור של טקסט בתמונות
חשוב לזכור ש-Vertex AI in Firebase עדיין לא תומך בכל התכונות שזמינות במודלים של Imagen. מידע נוסף זמין בקטע יכולות ותכונות נתמכות בהמשך הדף.
לפני שמתחילים
אם עדיין לא עשיתם זאת, כדאי לעיין במדריך למתחילים, שבו מוסבר איך מגדירים את פרויקט Firebase, מחברים את האפליקציה ל-Firebase, מוסיפים את ה-SDK, מאתחלים את השירות Vertex AI ויוצרים מכונה של ImagenModel
.
חשוב לזכור: כדי ליצור תמונות באמצעות מודלים מסוג Imagen:
חשוב לוודא שאתם משתמשים בגרסת הספרייה הבאה של Firebase לפחות:
iOS+: v11.9.1+ | Android: v16.2.0+ (BoM: v33.10.0+) | אינטרנט: v11.4.1+ | Flutter: v1.4.0+ (BoM: v3.8.0+)יוצרים מכונה מסוג
ImagenModel
(לא מכונה מסוגGenerativeModel
)שולחים את ההנחיה בשיחת טלפון אל
generateImages()
(לא אלgenerateContent()
אוgenerateContentStream()
)
יצירת ImagenModel
ושימוש ב-generateImages()
מוצגים בדוגמאות בדף הזה.
מודלים שתומכים ביכולת הזו
יצירת תמונות נתמכת במודלים Imagen 3. בקרוב תהיה תמיכה ביצירת תמונות באמצעות מודלים של Gemini 2.0.
יצירת תמונות מקלט של טקסט בלבד
אתם יכולים לבקש ממודל Imagen ליצור תמונות באמצעות הנחיה עם טקסט. אפשר ליצור תמונה אחת או כמה תמונות.
יצירת תמונה אחת מקלט טקסט בלבד
חשוב לוודא שביצעתם את ההוראות בקטע לפני שמתחילים במדריך הזה לפני שאתם מנסים את הדוגמה הזו.
אפשר לבקש ממודל Imagen ליצור תמונה אחת באמצעות הנחיה בטקסט.
import FirebaseVertexAI
// Initialize the Vertex AI service
let vertex = VertexAI.vertexAI()
// Create an `ImagenModel` instance with an Imagen 3 model that supports your use case
let model = vertex.imagenModel(modelName: "imagen-3.0-generate-002")
// Provide an image generation prompt
let prompt = "An astronaut riding a horse"
// To generate an image, call `generateImages` with the text prompt
let response = try await model.generateImages(prompt: prompt)
// Handle the generated image
guard let image = response.images.first else {
fatalError("No image in the response.")
}
let uiImage = UIImage(data: image.data)
כאן מוסבר איך בוחרים מודל, ואם רוצים גם מיקום, שמתאימים לתרחיש לדוגמה ולאפליקציה שלכם.
יצירת כמה תמונות ממידע שמוזן בטקסט בלבד
חשוב לוודא שביצעתם את ההוראות בקטע לפני שמתחילים במדריך הזה לפני שאתם מנסים את הדוגמה הזו.
כברירת מחדל, מודלים של Imagen 3 יוצרים רק תמונה אחת לכל בקשה.
עם זאת, אפשר לבקש ממודל Imagen ליצור כמה תמונות לכל בקשה על ידי מתן generationConfig
במהלך האינטוליזציה של המודל.
import FirebaseVertexAI
// Initialize the Vertex AI service
let vertex = VertexAI.vertexAI()
// Create an `ImagenModel` instance with an Imagen 3 model that supports your use case
let model = vertex.imagenModel(
modelName: "imagen-3.0-generate-002",
// Configure the model to generate multiple images for each request
// See: https://firebase.google.com/docs/vertex-ai/model-parameters
generationConfig: ImagenGenerationConfig(numberOfImages: 4)
)
// Provide an image generation prompt
let prompt = "An astronaut riding a horse"
// To generate images, call `generateImages` with the text prompt
let response = try await model.generateImages(prompt: prompt)
// If fewer images were generated than were requested,
// then `filteredReason` will describe the reason they were filtered out
if let filteredReason = response.filteredReason {
print(filteredReason)
}
// Handle the generated images
let uiImages = response.images.compactMap { UIImage(data: $0.data) }
כאן מוסבר איך בוחרים מודל, ואם רוצים גם מיקום, שמתאימים לתרחיש לדוגמה ולאפליקציה שלכם.
תכונות נתמכות ודרישות
המודלים של Imagen 3 מציעים הרבה תכונות שקשורות ליצירת תמונות. בקטע הזה מוסבר מה נתמך כשמשתמשים במודלים עם Vertex AI in Firebase.
יכולות ותכונות נתמכות
Vertex AI in Firebase תומך בתכונות האלה של דגמי Imagen 3.
יצירת אנשים ופנים (בהנחה שפרויקט Firebase שלכם קיבל אישור מ-Google Cloud)
יצירת טקסט בתוך תמונות שנוצרו
הוספת סימן מים לתמונות שנוצרו
הגדרת פרמטרים ליצירת תמונות, כמו מספר התמונות שנוצרות, יחס גובה-רוחב והוספת סימני מים
הגדרת הגדרות הבטיחות
Vertex AI in Firebase לא תומך בתכונות המתקדמות האלה של דגמי Imagen 3.
חשוב לזכור שרוב התכונות האלה מחייבות אתכם להופיע ברשימת משתמשים שאושרו, גם אם אתם משתמשים במודלים של Imagen בצד השרת.
תכונות של עריכה או מניפולציה של תמונות, כולל התאמת תמונות
הוספת תמונות לבקשה למודלים (למשל, לצורך למידה מסוג few-shot)
אימות של סימני מים דיגיטליים באמצעות ערכות ה-SDK
כדי לוודא שלתמונה יש סימן מים, אפשר להעלות אותה ל-Vertex AI Studio באמצעות הכרטיסייה Media.יצירת 'תמונות חיות' מטקסט (יצירת קובצי MP4)
יצירת תמונות באמצעות סגנון מוגדר מראש
הפעלת
includeSafetyAttributes
, כלומר אי אפשר להחזיר את הערכיםsafetyAttributes.categories
ו-safetyAttributes.scores
השבתת שיפור ההנחיה (הפרמטר
enhancePrompt
). המשמעות היא שכלי לשכתוב הנחיות שמבוסס על LLM תמיד יוסיף פרטים נוספים באופן אוטומטי להנחיה שסופקה, כדי לספק תמונות באיכות גבוהה יותר שמשקפות טוב יותר את ההנחיה שסופקה.כתיבת תמונה שנוצרה ישירות ב-Google Cloud Storage כחלק מהתגובה מהמודל (הפרמטר
storageUri
). במקום זאת, התמונות תמיד מוחזר בתשובה כבייט של תמונה בקידוד base64.
אם רוצים להעלות תמונה שנוצרה ב-Cloud Storage, אפשר להשתמש ב-Cloud Storage for Firebase.
מפרטים ומגבלות
מגבלות (לכל בקשה) | Imagen 3 | Imagen 3 Fast |
---|---|---|
המספר המקסימלי של אסימוני קלט | 480 אסימונים | 480 אסימונים |
מספר התמונות המקסימלי בפלט | 4 תמונות | 4 תמונות |
רזולוציות תמונות פלט נתמכות (פיקסלים) |
|
|
מה עוד אפשר לעשות?
- כדאי להתחיל לחשוב על ההכנות לקראת ההשקה בסביבת הייצור, כולל הגדרת Firebase App Check כדי להגן על ממשקי ה-API שבהם אתם משתמשים באפליקציה מפני ניצול לרעה על ידי לקוחות לא מורשים. בנוסף, חשוב לעיין ברשימת המשימות להעברה לייצור.
איך שולטים ביצירת תוכן
- הסבר על תכנון הנחיות, כולל שיטות מומלצות, אסטרטגיות והנחיות לדוגמה.
- להגדיר את הפרמטרים של מודל Imagen כמו יחס גובה-רוחב, יצירת אנשים והוספת סימני מים.
- שימוש בהגדרות הבטיחות כדי לשנות את הסבירות לקבלת תשובות שעשויות להיחשב כמזיקות.
מידע נוסף על המודלים הנתמכים
כאן תוכלו לקרוא מידע נוסף על המודלים הזמינים לתרחישי שימוש שונים, על המכסות ועל התמחור שלהם.שליחת משוב על חוויית השימוש ב-Vertex AI in Firebase