סקירה כללית על ממשקי ה-API של GenAI ב-ML Kit

ממשקי ה-API של ML Kit ל-AI גנרטיבי משתמשים ביכולות של Gemini Nano כדי לעזור לאפליקציות לבצע משימות של AI גנרטיבי במכשיר. ממשקי ה-API האלה מבוססים על AICore, שירות מערכת של Android שמנהל מודלים בסיסיים במכשיר ומאיץ את תהליך ההסקה תוך שמירה על פרטיות נתוני המשתמשים.

השימוש בממשקי ה-API של GenAI כפוף לתנאים ולהגבלות הנוספים של ML Kit GenAI API. המפתחים הם האחראים הבלעדיים לבטיחות של לקוח ה-API שלהם ולחוויית המשתמש באפליקציה.

יכולות עיקריות

היכולות של ML Kit בתחום ה-AI הגנרטיבי מחולקות לקטגוריות הבאות:

יצירת תוכן וסוכנים בהתאמה אישית

עבודה ישירות עם מודל הבסיס Gemini Nano עבור הנחיות בהתאמה אישית ותהליכי עבודה של Agentic Workflows:

  • גישה ישירה למודל (באמצעות המחלקה GenerativeModel): יצירת טקסט או פלט מובנה מוקלד מהנחיות מותאמות אישית של טקסט בלבד או הנחיות מולטי-מודאליות, או ניהול היסטוריית הצ'אט מרובת-השלבים שלכם ישירות באמצעות אובייקט List<Content> עם תפקידי USER ו-MODEL וערך sessionId, וניהול הצהרות הכלים ישירות.
  • Agentic Workflows (באמצעות המחלקה AgentRunner): מבוססים על המחלקה GenerativeModel, ומבצעים אוטומציה של ניהול סשנים רב-שלבי (כולל היסטוריית שיחות בזיכרון) ולולאות של קריאה לפונקציות עם כמה שלבים.

דיבור ואודיו

תמלול, תרגום וסינתזה של אודיו של דיבור במכשיר:

משימות של טקסט ותמונות

להשתמש בממשקי API ספציפיים למשימות, שעברו אופטימיזציה למשימות נפוצות של ראייה, כתיבה וחיפוש, בלי הנדסת פרומפטים:

  • תיאור תמונה: יצירת תיאור קצר של תמונה נתונה.
  • סיכום: סיכום מאמרים או שיחות בצ'אט ברשימה עם תבליטים.
  • הגהה: שיפור תוכן קצר על ידי תיקון שגיאות דקדוק ואיות.
  • שכתוב: שכתוב הודעות קצרות בסגנונות או בטונים שונים.
  • חיפוש סמנטי: יוצרים הטמעות וקטוריות של טקסט ותמונות באמצעות Embedding API ומשלבים אותן עם AndroidX AppSearch כדי למצוא תוכן לפי המשמעות שלו.

היתרונות של ממשקי GenAI API

בדומה לתכונות קיימות אחרות של ML Kit, ממשקי ה-API של GenAI פועלים במלואם במכשיר, ולכן מספקים את היתרונות הבאים:

  • נתוני הקלט, ההסקה והפלט מעובדים באופן מקומי
  • הפונקציונליות נשארת זהה גם בלי חיבור יציב לאינטרנט
  • אין עלות נוספת לשרת על כל קריאה ל-API

בנוסף, מכיוון שממשקי ה-API של GenAI מבוססים על AICore ומופעלים על ידי Gemini Nano, האפליקציות וממשקי ה-API הספציפיים למשימות חולקים את אותו מודל בסיס של Gemini Nano במכשיר. כך לא צריך להמתין להורדה של מודל נפרד אם Gemini Nano כבר קיים במכשיר, וגם נחסך מקום באחסון. איך AICore מבודד בקשות כדי להגן על הפרטיות

סטרימינג לעומת לא סטרימינג

ממשקי ה-API של ML Kit GenAI מציעים גם אפשרויות סטרימינג וגם אפשרויות ללא סטרימינג לקבלת תוצאות. ה-API לסטרימינג מספק תשובות באופן הדרגתי כשהן נוצרות, ומספק זרימה רציפה של נתונים. לעומת זאת, ב-API ללא סטרימינג, התשובה מוחזרת כבלוק אחד רק אחרי שהיא מוכנה במלואה.

לתשובות ארוכות, כדאי לבחור ב-API לסטרימינג כי הוא מאפשר לקבל משוב ראשוני מהר יותר. ה-API ללא סטרימינג מתאים יותר לתשובות קצרות או כשמעבדים תוצאות באצוות.

תמיכה במכשיר

בקטעים הבאים מתוארת התמיכה במכשירים ליצירה בהתאמה אישית, לסוכנים ולממשקי API למשימות טקסט ותמונות. אם יש תכונות שלא מופיעות בקטע הזה, אתם יכולים לעיין בדפים של התכונות הספציפיות כדי לקבל מידע על תמיכה במכשירים.

יצירה בהתאמה אישית ותמיכה בסוכנים במכשיר

גישה ישירה למודל ותהליכי עבודה מבוססי-סוכנים נתמכים במכשירים הבאים:

nano-v2

  • ‫Honor: ‏Magic V5, ‏Magic 7, ‏Magic 7 Pro
  • iQOO: iQOO 13
  • ‫Motorola: ‏Razr 60 Ultra, ‏Razr Ultra 2025
  • ‫OnePlus: ‏OnePlus 13, ‏OnePlus 13s
  • ‫OPPO: ‏Find N5
  • ‫POCO: ‏POCO F7 Ultra, ‏POCO F8 Pro, ‏POCO F8 Ultra, ‏POCO X7 Pro, ‏POCO X8 Pro
  • ‫realme: ‏realme GT 7 Pro
  • ‫Samsung: ‏Galaxy Z Fold7, ‏Galaxy Z TriFold
  • ‫vivo: ‏vivo X200 FE, ‏vivo T4 Ultra
  • ‫Xiaomi: ‏Xiaomi 14T Pro, ‏Xiaomi 15, ‏Xiaomi 15T, ‏Xiaomi 15T Pro, ‏Xiaomi 15 Ultra, ‏Xiaomi 17, ‏Xiaomi 17 Ultra, ‏Xiaomi Pad Mini

nano-v3

  • ‫Google: ‏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 Magic 8 Pro
  • iQOO: iQOO 15
  • ‫Lenovo: ‏Lenovo Idea Tab Pro Gen 2, ‏Lenovo Legion Tab Gen 5(8.8")‎
  • Motorola: חתימה
  • ‫OnePlus: ‏OnePlus 15, ‏OnePlus 15R
  • ‫OPPO: ‏Find X9, ‏Find X9 Pro, ‏Find X8, ‏Find X8 Pro, ‏Reno 14 Pro 5G, ‏Reno 15 Pro 5G, ‏Reno 15 Pro Mini 5G, ‏Reno 15 Pro Max 5G
  • ‫realme: ‏realme GT 7T
  • ‫Samsung: Galaxy S26, Galaxy S26+, Galaxy S26 Ultra
  • ‫Sharp: AQUOS R11
  • Sony: Xperia 1 VIII
  • ‫vivo: ‏vivo X200T, ‏vivo X200, ‏vivo X200 Pro, ‏vivo X300, ‏vivo X300 Pro

nano-v4

  • ‫Google: ‏Pixel 11, ‏ Pixel 11 Pro, ‏ Pixel 11 Pro XL, ‏ Pixel 11 Pro Fold
  • ‫Samsung: Galaxy Z Flip8, Galaxy Z Fold8, Galaxy Z Fold8 Ultra

תמיכה במכשירים למשימות טקסט ותמונה

ממשקי ה-API של תיאור תמונה, סיכום, הגהה וכתיבה מחדש זמינים במכשירים הבאים, ואנחנו מתכננים להרחיב את התמיכה למכשירים נוספים:

  • ‫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, ‏Magic 7, ‏Magic 7 Pro, ‏Magic 8 Pro, ‏Magic V5
  • ‫iQOO‏: iQOO 13, ‏ iQOO 15
  • ‫Lenovo: ‏Lenovo Idea Tab Pro Gen 2, ‏Lenovo Legion Tab Gen 5(8.8")‎
  • ‫Motorola: ‏Razr 60 Ultra, ‏Razr Ultra 2025, ‏Signature
  • ‫OnePlus: ‏OnePlus 15, ‏OnePlus 15R, ‏OnePlus 13, ‏OnePlus 13s
  • ‫OPPO: ‏Find N5, ‏Find X9, ‏Find X9 Pro, ‏Find X8, ‏Find X8 Pro, ‏Reno 14 Pro 5G, ‏Reno 15 Pro 5G, ‏Reno 15 Pro Mini 5G, ‏Reno 15 Pro Max 5G
  • ‫POCO: ‏POCO F7 Ultra, ‏POCO F8 Pro, ‏POCO F8 Ultra, ‏POCO X7 Pro, ‏POCO X8 Pro
  • ‫realme: ‏realme GT 7 Pro, ‏realme GT 7T
  • ‫Samsung: Galaxy S25, Galaxy S25+, Galaxy S25 Ultra, Galaxy S26, Galaxy S26+, Galaxy S26 Ultra, Galaxy Z Flip8, Galaxy Z Fold8, Galaxy Z Fold8 Ultra, Galaxy Z Fold7, Galaxy Z TriFold
  • ‫Sharp: AQUOS R11
  • Sony: Xperia 1 VIII
  • ‫vivo: ‏vivo X200T, ‏vivo X200 FE, ‏vivo X200, ‏vivo X200 Pro, ‏vivo X300, ‏X300 Pro, ‏vivo X Fold3 Pro, ‏vivo X Fold5, ‏vivo T4 Ultra
  • ‫Xiaomi: ‏Xiaomi 14T Pro, ‏Xiaomi 15, ‏Xiaomi 15T, ‏Xiaomi 15T Pro, ‏Xiaomi 15 Ultra, ‏Xiaomi 17, ‏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.

קוד לדוגמה

כדי לקבל את הקוד הזה, אפשר לעיין בדוגמאות הבאות: