אתם יכולים ליצור תכונות ואפליקציות מבוססות-AI ל-Apple באמצעות הסקה היברידית בעזרת Firebase AI Logic. הסקת מסקנות היברידית מאפשרת להריץ הסקת מסקנות באמצעות מודלים במכשיר (במיוחד מסגרת Foundation Models של אפל) כשהם זמינים, ולעבור בצורה חלקה למודלים של Google שמתארחים בענן אם הם לא זמינים (ולהיפך).
בדף הזה מוסבר איך מתחילים להשתמש ב-SDK של הלקוח, ומוצגות אפשרויות נוספות להגדרה ויכולות, כמו רמת אקראיות.
שימו לב: יש תמיכה בהסקת מסקנות במכשיר באמצעות Firebase AI Logic באפליקציות של אפל שמשתמשות ב-Firebase AI Logic SDK גרסה 12.13.0 ואילך ופועלות במכשירים עם Apple Intelligence מופעלת. השימוש בהם כפוף לדרישות השימוש המקובל ב-Foundation Models framework של Apple.
תרחישים מומלצים לדוגמה
השימוש במודל במכשיר להסקת מסקנות מאפשר:
- פרטיות משופרת
- הסקת מסקנות ללא עלות
- פונקציונליות אופליין
שימוש בפונקציונליות של מוצרים משולבים:
- לספק לכל הלקוחות חוויית שימוש דומה באפליקציה, ללא קשר למכשיר של משתמש הקצה
- שיפור הזמינות של תכונות מבוססות-AI גנרטיבי, ללא קשר לקישוריות לאינטרנט, למגבלות מכסה או ליכולות המכשיר
יכולות, ממשקי API ומכשירים נתמכים
לפני שמטמיעים היסק היברידי והיסק במכשיר באמצעות Firebase AI Logic, כדאי לעיין בקטע הזה כדי להבין מה נתמך באפליקציות של אפל.
יכולות ותכונות נתמכות להסקת מסקנות במכשיר
הסקת מסקנות במכשיר תומכת רק ביצירת טקסט, ובאופן ספציפי ביכולות הבאות של יצירת טקסט:
בסוף הדף הזה מופיעה רשימה מפורטת של הסקת מסקנות היברידית או במכשיר שעדיין לא נתמכות.
ממשקי API ומכשירים נתמכים
הסקת מסקנות בענן מתבצעת באמצעות ספק Gemini API שבחרתם (Gemini Developer API או Vertex AI Gemini API).
הסקת מסקנות במכשיר מתבססת על ה-framework של Apple Foundation Models, שזמין רק במכשירים שמופעלת בהם Apple Intelligence. המודל במכשיר יורד אוטומטית כשמפעילים את Apple Intelligence.
שנתחיל?
חשוב לעיין בקטע שלמעלה שמתאר את היכולות, ממשקי ה-API והמכשירים הנתמכים.
בשלבי ההתחלה האלה מתואר תהליך ההגדרה הכללי שנדרש לכל בקשת הנחיה נתמכת שרוצים לשלוח.
שלב 1: הגדרת פרויקט Firebase וקישור האפליקציה ל-Firebase
נכנסים אל Firebaseהמסוף ובוחרים את הפרויקט ב-Firebase.
במסוף Firebase, עוברים אל AI Services (שירותי AI) > AI Logic (לוגיקת AI).
לוחצים על Get started (תחילת העבודה) כדי להפעיל תהליך עבודה מודרך שיעזור לכם להגדיר את ממשקי ה-API והמשאבים הנדרשים לפרויקט.
אם מופיעה בקשה, פועלים לפי ההוראות במסך כדי לרשום את האפליקציה ולהוסיף את הגדרות Firebase לאפליקציה.
כשמתבקשים לבחור 'ספק Gemini API', מומלץ לבחור באפשרות Gemini Developer API, שמאפשרת להתחיל במהירות ללא עלות.
בכל שלב מאוחר יותר, תמיד אפשר להגדיר את Vertex AI Gemini API (ואת הדרישה שלו לחיוב).
ממשיכים בתהליך העבודה כדי להגדיר את ממשקי ה-API הנדרשים ואת השירותים המשויכים ל-Firebase AI Logic.
החל מתחילת יולי 2026, בשלב הזה של תהליך העבודה, תופעל Firebase App Check באופן אוטומטי עבור AI Logic, שהוא שירות קריטי שעוזר להגן על Gemini API כשניגשים אליו ישירות מהאפליקציה. כדי להתחיל (כפי שמוסבר בשלבים בהמשך המדריך הזה), תצטרכו להגדיר את App Check ספק אימות לצורכי ניפוי באגים לפיתוח מקומי כשמפעילים את App Check.
כדי להוסיף את ערכות ה-SDK הנדרשות לאפליקציה, ממשיכים לשלב הבא במדריך הזה.
שלב 2: מוסיפים את ערכות ה-SDK הנדרשות
משתמשים ב-Swift Package Manager (SPM) כדי להתקין ולנהל יחסי תלות ב-Xcode. תמיכה בהיברידי זמינה רק כשמשתמשים ב-SPM.
הספרייה Firebase AI Logic מספקת גישה לממשקי ה-API לאינטראקציה עם מודלים גנרטיביים. הספרייה כלולה כחלק מ-Firebase SDK לפלטפורמות של אפל (firebase-ios-sdk).
אם אתם כבר משתמשים ב-Firebase, צריך לוודא שחבילת Firebase שלכם היא גרסה 12.13.0 ואילך.
ב-Xcode, כשפרויקט האפליקציה פתוח, עוברים אל File > Add Package Dependencies (קובץ > הוספת תלות בחבילה).
כשמוצגת בקשה, מוסיפים את מאגר Firebase Apple platforms SDK:
https://github.com/firebase/firebase-ios-sdkבוחרים את גרסת ה-SDK העדכנית ביותר.
בוחרים בספריות
FirebaseAILogicו-FirebaseAppCheck.
אחרי שתסיימו, פלטפורמת Xcode תתחיל אוטומטית לטפל ביחסי התלות ולהוריד אותם ברקע.
שלב 3: הגדרת ספק ניפוי הבאגים App Check לפיתוח מקומי
החל מתחילת יולי 2026, כחלק מתהליך העבודה המודרך להגדרה של AI Logic ב-Play Console, Firebase App Check ייאכף באופן אוטומטי כדי להגן על Gemini API. לפיתוח מקומי, צריך להגדיר את App Check ספק אימות לצורכי ניפוי באגים כדי לעקוף את האימות, ועדיין לשמור על האכיפה של App Check.
כך משתמשים בספק ניפוי הבאגים בזמן הפעלת האפליקציה בסימולטור באופן אינטראקטיבי (לדוגמה, במהלך פיתוח מקומי):
בפרויקט Xcode, מייבאים את
FirebaseAppCheckומפעילים את App Check באמצעות יצירת ספק אימות לצורכי ניפוי באגים לפני שמגדירים אתFirebase.import SwiftUI import FirebaseCore import FirebaseAppCheck @main struct YourApp: App { init() { let providerFactory = AppCheckDebugProviderFactory() AppCheck.setAppCheckProviderFactory(providerFactory) FirebaseApp.configure() } var body: some Scene { WindowGroup { NavigationView { ContentView() } } } }קבלת טוקן לניפוי באגים:
מפעילים את האפליקציה בסימולטור או במכשיר הבדיקה.
פותחים את מסוף Xcode ומחפשים את אסימון הניפוי באגים App Check. לדוגמה:
<Warning> [AppCheckCore][I-GAC004001] App Check debug token: '123a4567-b89c-12d3-e456-789012345678'.מעתיקים את הטוקן (לדוגמה,
123a4567-b89c-12d3-e456-789012345678).
רושמים את אסימון ניפוי הבאגים ב-App Check:
במסוף Firebase, עוברים אל Security > App Check > הכרטיסייה Apps.
מוצאים את האפליקציה, לוחצים על תפריט האפשרויות הנוספות () ובוחרים באפשרות ניהול אסימוני ניפוי באגים.
פועלים לפי ההוראות במסך כדי לרשום את אסימון הניפוי באגים.
פרטים על ספק אימות לצורכי ניפוי באגים (כולל איך לקבל אסימון חדש לניפוי באגים) זמינים במסמכי App Check הרשמיים.
שלב 4: מאתחלים את השירות ויוצרים מופע של סשן מודל
|
לוחצים על הספק Gemini API כדי לראות בדף הזה תוכן וקוד שספציפיים לספק. |
לפני ששולחים למודל בקשת הנחיה, צריך להגדיר את הדברים הבאים.
מפעילים את השירות עבור ספק Gemini API שבחרתם.
יצירת מכונת
GenerativeModelSessionעםHybridModel.מגדירים את המודלים
primaryו-secondaryלפי ההעדפות. אפשר להגדיר את סדר הניסיונות להסקת מסקנות:לנסות להסיק מסקנות במכשיר קודם, אבל לאפשר חזרה לענן: מגדירים את
primaryלמודל 'מערכת' ואתsecondaryלמודל ענן.לנסות הסקה בענן קודם, אבל לאפשר חזרה להסקה במכשיר: מגדירים את
primaryלמודל בענן ואתsecondaryלמודל 'מערכת'.
חשוב לשים לב ש-SDK תומך בהגדרה של רק
modelאחת, כלומר SDK ינסה להסיק מסקנות רק במכשיר או בענן. עם זאת, כדי ליצור חוויה היברידית, צריך ליצורHybridModelולהגדיר את המודליםprimaryו-secondary.מידע נוסף על ההתנהגות של 'מצבי הסקה' (הסדר של ניסיונות ההסקה) זמין באפשרויות ההגדרה.
בדוגמה הבאה אפשר לראות איך מנסים להסיק מסקנות במכשיר קודם, אבל מאפשרים מעבר למודל שמתארח בענן:
// Initialize the Gemini Developer API backend service
let ai = FirebaseAI.firebaseAI(backend: .googleAI())
// Initialize a cloud model that supports your use case
let cloudModel = ai.geminiModel(name: "GEMINI_MODEL_NAME")
// Initialize an on-device model that supports your use case
let systemModel = FirebaseAI.SystemLanguageModel.default
// Create a Hybrid Model
// Provide your preferred model as `primary` and your fallback model as `secondary`
// In this example, attempt to use on-device model; otherwise, fall back to cloud.
let hybridModel = HybridModel(
primary: systemModel,
secondary: cloudModel
)
// Create a GenerativeModelSession with the HybridModel created earlier.
let session = firebaseAI.generativeModelSession(
model: hybridModel,
)
שלב 5: שליחת בקשת הנחיה למודל
בקטע הזה מוסבר איך לבצע את הפעולות הבאות:
יצירת טקסט מקלט טקסט בלבד
| לפני שמנסים את הדוגמה הזו, חשוב לוודא שסיימתם את הקטע תחילת העבודה במדריך הזה. |
כדי ליצור טקסט מהנחיה שמכילה טקסט, משתמשים ב-respond(to:) באופן הבא:
// Imports + initialization of Gemini API backend service + creation of model session
// Provide a prompt that contains text
let prompt = "Write a story about a magic backpack."
// To generate text output, call `respond(to:)` with the text input
let response = try await session.respond(to: prompt)
print(response.content)
הזרמת טקסט מקלט טקסט בלבד
| לפני שמנסים את הדוגמה הזו, חשוב לוודא שסיימתם את הקטע תחילת העבודה במדריך הזה. |
כדי לקבל אינטראקציות מהירות יותר, לא צריך לחכות לתוצאה המלאה מהמודל, אלא אפשר להשתמש בסטרימינג כדי לטפל בתוצאות חלקיות. כדי להזרים טקסט שנוצר מפרומפט שמכיל טקסט, משתמשים ב-streamResponse(to:) כך:
// Imports + initialization of Gemini API backend service + creation of model session
// Provide a prompt that contains text
let prompt = "Write a story about a magic backpack."
// To stream generated text output, call `streamResponse(to:)` with the text input
let stream = session.streamResponse(to: prompt)
for try await snapshot in stream {
print(snapshot.content)
}
מה עוד אפשר לעשות?
אתם יכולים להשתמש באפשרויות הגדרה וביכולות נוספות שונות כדי לשפר את החוויה ההיברידית:
תכונות שעדיין לא נתמכות בהיברידי או בהסקת מסקנות במכשיר
זו גרסה ניסיונית, ולכן לא כל היכולות של Firebase AI Logic או של מודלים שמתארחים בענן נתמכות.
התכונות הבאות לא נתמכות בהטמעות היברידיות או בהטמעות במכשיר: מודלים של Imagen, Gemini Live API ותבניות של הנחיות. בנוסף, לא מומלץ להסתמך על ספירת הטוקנים כי הספירה תהיה שונה בין מודלים שמארחים בענן לבין מודלים שפועלים במכשיר, ולכן אין חלופה אינטואיטיבית.
התכונות הבאות עדיין לא נתמכות בהסקת מסקנות במכשיר. אם אתם רוצים להשתמש באחת מהתכונות האלה, מומלץ להשתמש רק במודל שמתארח בענן כדי לקבל חוויה עקבית יותר.
יצירת טקסט מקלט מולטי-מודאלי, כמו תמונות, אודיו, סרטונים ומסמכים (קובצי PDF)
יצירת מדיה, כמו תמונות, אודיו או סרטון
שליחת בקשות שעולות על 4,096 טוקנים (או בערך 3,000 מילים באנגלית).
המודל במכשיר מקבל כלים מובנים שעוזרים לו ליצור את התשובה (כמו הפעלת קוד, הקשר של כתובת URL ועיגון באמצעות חיפוש Google)
במסוף Firebase, מעקב אחרי שימוש בתכונות AI לא מציג נתונים לגבי היקש במכשיר (כולל יומנים במכשיר). עם זאת, אפשר לעקוב אחרי כל הסקה שנעשית באמצעות מודל שמתארח בענן, בדיוק כמו אחרי הסקות אחרות, באמצעות Firebase AI Logic.
מגבלות נוספות
בנוסף לאמור למעלה, הסקת מסקנות במכשיר מוגבלת באופן הבא:
משתמש הקצה של האפליקציה שלכם צריך להשתמש במכשיר עם Apple Intelligence מופעל.
האפליקציה יכולה להפעיל הסקה במכשיר רק כשהיא פועלת בחזית.
רוצה לתת משוב על חוויית השימוש ב-Firebase AI Logic?