ממשקי ה-API של ML Kit ל-AI גנרטיבי משתמשים ביכולות של Gemini Nano כדי לעזור לאפליקציות לבצע משימות של AI גנרטיבי במכשיר. ממשקי ה-API האלה מבוססים על AICore, שירות מערכת של Android שמנהל מודלים בסיסיים במכשיר ומאיץ את ההסקה תוך שמירה על פרטיות נתוני המשתמשים.
השימוש בממשקי ה-API של GenAI כפוף לתנאים ולהגבלות הנוספים של ML Kit GenAI API. המפתחים הם האחראים הבלעדיים לבטיחות של לקוח ה-API שלהם ולחוויית המשתמש באפליקציה.
יכולות עיקריות
היכולות של ML Kit בתחום ה-AI הגנרטיבי מחולקות לקטגוריות הבאות:
יצירת תוכן וסוכנים בהתאמה אישית
אתם יכולים לעבוד ישירות עם המודל הבסיסי Gemini Nano כדי ליצור הנחיות בהתאמה אישית ותהליכי עבודה אוטונומיים של סוכנים:
- גישה ישירה למודל (באמצעות המחלקה
GenerativeModel): יצירת טקסט או פלט מובנה מוקלד מהנחיות מותאמות אישית של טקסט בלבד או הנחיות מולטי-מודאליות, או ניהול היסטוריית הצ'אט מרובת-השלבים שלכם ישירות באמצעות אובייקטList<Content>עם תפקידיUSERו-MODELוערךsessionId, וניהול הצהרות הכלים ישירות. - Agentic Workflows (באמצעות המחלקה
AgentRunner): מבוססים על המחלקהGenerativeModel, ומבצעים אוטומציה של ניהול סשנים רב-שלבי (כולל היסטוריית שיחות בזיכרון) ולולאות של קריאות API לכלי עם כמה שלבים.
דיבור ואודיו
תמלול, תרגום וסינתזה של אודיו של דיבור במכשיר:
- זיהוי דיבור: תמלול של אודיו של דיבור לטקסט באותה שפה.
- תרגום דיבור: תרגום אודיו של דיבור לטקסט בשפה אחרת בזמן אמת.
- המרת טקסט לדיבור (TTS): עיבוד של טקסט לאודיו של דיבור שנשמע טבעי.
משימות שקשורות לטקסט ולתמונות
להשתמש בממשקי API ספציפיים למשימות, שעברו אופטימיזציה למשימות נפוצות של ראייה, כתיבה וחיפוש, בלי הנדסת פרומפטים:
- תיאור תמונה: יוצרים תיאור קצר של תמונה נתונה.
- סיכום: סיכום מאמרים או שיחות צ'אט כרשימה עם תבליטים.
- הגהה: שיפור תוכן קצר על ידי תיקון שגיאות דקדוק ואיות.
- שכתוב: שכתוב הודעות קצרות בטונים או בסגנונות שונים.
- Embeddings: יוצרים הטמעות וקטורים לטקסט ולתמונות באמצעות Embeddings API ומשלבים אותן עם AndroidX AppSearch כדי למצוא תוכן לפי המשמעות שלו.
היתרונות של ממשקי GenAI API
בדומה לתכונות קיימות אחרות של ML Kit, ממשקי GenAI API פועלים במלואם במכשיר, ולכן מספקים את היתרונות הבאים:
- נתוני הקלט, ההסקה והפלט מעובדים באופן מקומי
- הפונקציונליות נשארת זהה גם בלי חיבור יציב לאינטרנט
- אין עלות נוספת לשרת על כל קריאה ל-API
בנוסף, מכיוון שממשקי ה-API של GenAI מבוססים על AICore ומופעלים על ידי Gemini Nano, האפליקציות וממשקי ה-API הספציפיים למשימות חולקים את אותו מודל בסיס של Gemini Nano במכשיר. כך לא צריך להמתין להורדה של מודל נפרד אם Gemini Nano כבר קיים במכשיר, וגם נחסך מקום באחסון. איך AICore מבודד בקשות כדי להגן על הפרטיות
סטרימינג לעומת לא סטרימינג
ממשקי ה-API של ML Kit GenAI מציעים אפשרויות סטרימינג ואפשרויות ללא סטרימינג לקבלת תוצאות. ה-API לסטרימינג מספק תשובות באופן הדרגתי כשהן נוצרות, ומספק זרימה רציפה של נתונים. לעומת זאת, ב-API ללא סטרימינג, התשובה מוחזרת כבלוק אחד רק אחרי שהיא מוכנה במלואה.
לתשובות ארוכות, כדאי לבחור ב-API לסטרימינג כי הוא מאפשר לקבל משוב ראשוני מהר יותר. ה-API ללא סטרימינג מתאים יותר לתשובות קצרות או כשמעבדים תוצאות באצוות.
תמיכה במכשיר
בקטעים הבאים מתוארת התמיכה במכשירים ליצירה בהתאמה אישית, לסוכנים ולממשקי API של משימות טקסט ותמונות. אם יש תכונות שלא מופיעות בקטע הזה, אתם יכולים לעיין בדפים של התכונות הספציפיות כדי לקבל מידע על התמיכה במכשירים.
יצירה בהתאמה אישית ותמיכה בסוכנים במכשיר
גישה ישירה למודל ותהליכי עבודה מבוססי-סוכנים נתמכים במכשירים הבאים:
Gemini Nano 2 |
|
Gemini Nano 3 |
|
Gemini Nano 4 |
|
הזמינות והגרסה של המודל עשויות להשתנות בהתאם להגדרת ה-RAM של המכשיר, לגרסת מערכת ההפעלה ולסטטוס העדכון של AICore. כדי לבדוק את גרסת המודל הפעילה במכשיר, עיינו במאמר אחזור גרסת Gemini Nano.
תמיכה במכשירים למשימות טקסט ותמונות
ממשקי ה-API של תיאור תמונה, סיכום, הגהה ושכתוב זמינים במכשירים הבאים, ואנחנו מתכננים להרחיב את התמיכה למכשירים נוספים:
- Acer: Acer Googlebook 14
- ASUS: ASUS Googlebook 14
- Dell: XPS Googlebook
- Google: Pixel 11, Pixel 11 Pro, Pixel 11 Pro XL, Pixel 11 Pro Fold, Pixel 10, Pixel 10 Pro, Pixel 10 Pro XL, Pixel 10 Pro Fold, Pixel 9, Pixel 9 Pro, Pixel 9 Pro XL, Pixel 9 Pro Fold
- Honor: Honor 400 Pro, Honor 600 Pro, Magic 7, Magic 7 Pro, Porsche Design Magic 7 RSR, Magic 8 Pro, Magic V5, Magic V6, MagicPad 4
- HP: HP Googlebook 14
- iQOO: iQOO 13, iQOO 15
- Lenovo: Lenovo Googlebook 15, Lenovo Idea Tab Pro Gen 2, Lenovo Legion Tab Gen 5(8.8"), Lenovo Yoga Tab Plus Gen 2
- Motorola: Edge 70 Pro, Edge 70 Pro+, Razr 60 Ultra, Razr Ultra 2025, Razr Fold, Signature
- OnePlus: OnePlus 13, OnePlus 13s, OnePlus 15, OnePlus 15R, OnePlus Pad 3
- OPPO: Find N5, Find N6, Find X8, Find X8 Pro, Find X9, Find X9 Pro, Find X9s, Find X9 Ultra, Find X10, Find X10 Pro Max, Reno 14 Pro 5G, Reno 15 Pro 5G, Reno 15 Pro Mini 5G, Reno 15 Pro Max 5G, Reno 16 Pro 5G
- POCO: POCO F7 Ultra, POCO F8 Pro, POCO F8 Ultra, POCO F9 Pro, POCO X7 Pro, POCO X8 Pro, POCO X8 Pro Max
- realme: realme GT 7, realme GT 7 Pro, realme GT 7T, realme GT 8 Pro
- Redmi: Redmi Turbo 5
- Samsung: Galaxy S25, Galaxy S25+, Galaxy S25 Edge, Galaxy S25 Ultra, Galaxy S26, Galaxy S26+, Galaxy S26 FE, Galaxy S26 Ultra, Galaxy Tab S12+, Galaxy Tab S12 Ultra, Galaxy Z Flip7, Galaxy Z Flip8, Galaxy Z Fold7, Galaxy Z Fold8, Galaxy Z Fold8 Ultra, Galaxy Z TriFold
- Sharp: AQUOS R11
- Sony: Xperia 1 VIII
- vivo: vivo T4 Ultra, vivo X200, vivo X200 FE, vivo X200 Pro, vivo X200T, vivo X300, vivo X300 FE, vivo X300 Pro, vivo X300 Ultra, vivo X500 Pro, vivo X500 Pro Max, vivo X Fold3 Pro, vivo X Fold5, vivo X Fold6
- Xiaomi: Leitzphone powered by Xiaomi, Xiaomi 15, Xiaomi 15T, Xiaomi 15T Pro, Xiaomi 15 Ultra, Xiaomi 17, Xiaomi 17T, Xiaomi 17T Pro, Xiaomi 17 Ultra, Xiaomi Pad Mini
הזמינות של תמיכה בשפה מסוימת תלויה בהגדרות של המכשיר ובמודלים שהורדו אליו.
אחזור הגרסה של Gemini Nano
גרסאות שונות של Gemini Nano פועלות במכשירים שונים. כדי להחזיר את הגרסה של Gemini Nano במכשיר, משתמשים ב-method getBaseModelName().
מכסה לכל אפליקציה
AICore אוכף מכסת הסקות לכל אפליקציה. אם תשלחו יותר מדי בקשות GenAI API בפרק זמן קצר, תקבלו תשובה מסוג ErrorCode.BUSY. אם מוצגת שגיאה כזו, כדאי להשתמש בהשהיה מעריכית לפני ניסיון חוזר (exponential backoff) כדי לנסות שוב את הבקשה. בנוסף, יכול להיות שיוחזר הערך ErrorCode.PER_APP_BATTERY_USE_QUOTA_EXCEEDED אם אפליקציה חורגת ממכסה לטווח ארוך (לדוגמה, מכסה יומית).
שימוש ברקע
הסקת מסקנות באמצעות GenAI API מותרת רק כשהאפליקציה נמצאת בחזית. שימוש ב-API כשהאפליקציה לא פועלת בחזית, כולל שימוש בשירות שפועל בחזית, יגרום לתגובה ErrorCode.BACKGROUND_USE_BLOCKED.
קוד לדוגמה
כדי לקבל את הקוד הזה, אפשר לעיין בדוגמאות הבאות: