يمكنك إنشاء تطبيقات وميزات مستندة إلى الذكاء الاصطناعي لأجهزة Apple باستخدام الاستدلال المختلط من خلال Firebase AI Logic. يتيح الاستدلال المختلط تشغيل الاستدلال باستخدام النماذج على الجهاز فقط (وتحديدًا إطار عمل Foundation Models من Apple) عندما تكون متاحة، والرجوع بسلاسة إلى نماذج Google المستضافة على السحابة الإلكترونية في الحالات الأخرى (والعكس صحيح).
توضّح هذه الصفحة كيفية البدء باستخدام حزمة تطوير البرامج (SDK) للعميل، بالإضافة إلى عرض خيارات وإمكانات إعداد إضافية، مثل درجة العشوائية.
يُرجى العِلم أنّ الاستدلال على الجهاز فقط من خلال Firebase AI Logic متاح لتطبيقات Apple التي تستخدم الإصدار 12.13.0 أو إصدار أحدث من حزمة تطوير البرامج (SDK) لـ Firebase AI Logic وتعمل على الأجهزة التي تم تفعيل ميزة Apple Intelligence عليها. ويخضع ذلك لـ متطلبات الاستخدام المقبول لإطار عمل Foundation Models من Apple.
حالات الاستخدام المقترَحة
يوفّر استخدام نموذج على الجهاز فقط للاستدلال ما يلي:
- خصوصية محسّنة
- استدلال بدون أي تكلفة
- وظائف بلا إنترنت
يوفّر استخدام الوظائف المختلطة ما يلي:
- تزويد جميع العملاء بتجربة تطبيق مماثلة بغض النظر عن جهاز المستخدم النهائي
- تحسين مدى توفّر الميزات المستندة إلى الذكاء الاصطناعي التوليدي، بغض النظر عن الاتصال بالإنترنت أو حدود الحصص أو إمكانات الجهاز
الإمكانات وواجهات برمجة التطبيقات والأجهزة المتوافقة
قبل تنفيذ الاستدلال المختلط والاستدلال على الجهاز باستخدام Firebase AI Logic، يُرجى مراجعة هذا القسم للتعرّف على الميزات المتوافقة مع تطبيقات Apple.
الإمكانات والميزات المتوافقة مع الاستدلال على الجهاز فقط
لا يتيح الاستدلال على الجهاز سوى إنشاء النصوص، وتحديدًا إمكانات إنشاء النصوص التالية:
واجهات برمجة التطبيقات والأجهزة المتوافقة
يستخدم الاستدلال في السحابة الإلكترونية مقدّم خدمة Gemini API الذي تختاره (إما Gemini Developer API أو Vertex AI Gemini API).
يستخدم الاستدلال على الجهاز إطار عمل Foundation Models من Apple، الذي يتوفّر فقط على الأجهزة التي تم تفعيل ميزة Apple Intelligence عليها. يتم تنزيل النموذج على الجهاز تلقائيًا عند تفعيل ميزة Apple Intelligence.
البدء
يُرجى التأكّد من مراجعة القسم أعلاه الذي يوضّح الإمكانات وواجهات برمجة التطبيقات والأجهزة المتوافقة.
توضّح خطوات البدء هذه الإعداد العام المطلوب لأي طلب موجّه متوافق تريد إرساله.
لا يمكن لأي تطبيق بدء تنزيل نموذج على الجهاز فقط أو تفعيل ميزة Apple Intelligence على الجهاز. ومع ذلك، يمكنك إذا أردت التحقّق من مدى توفّر النموذج على الجهاز فقط وطلب تفعيل ميزة Apple Intelligence من المستخدم النهائي (وبالتالي بدء تنزيل النموذج على الجهاز).الخطوة 1: إعداد مشروع Firebase وربط التطبيق بـ Firebase
سجِّل الدخول إلى Firebase console, ثم اختَر مشروع Firebase.
في Firebase console، انتقِل إلى خدمات الذكاء الاصطناعي > منطق الذكاء الاصطناعي.
انقر على البدء لتشغيل سير عمل مُوجَّه يساعدك في إعداد واجهات برمجة التطبيقات والموارد المطلوبة لمشروعك.
اضبط مشروعك لاستخدام مقدّم خدمة "Gemini API".
ننصحك بالبدء باستخدام Gemini Developer API. يمكنك في أي وقت إعداد Vertex AI Gemini API (ومتطلبات الفوترة الخاصة به).
بالنسبة إلى Gemini Developer API، ستفعِّل وحدة التحكّم واجهات برمجة التطبيقات المطلوبة وتنشئ مفتاح Gemini API في مشروعك.
لا تُضِف مفتاح API هذا إلى قاعدة رموز تطبيقك.Gemini مزيد من المعلوماتإذا طُلب منك ذلك في سير عمل وحدة التحكّم، اتّبِع التعليمات المعروضة على الشاشة لتسجيل تطبيقك وربطه بمنصّة Firebase.
انتقِل إلى الخطوة التالية في هذا الدليل لإضافة حزمة تطوير البرامج (SDK) إلى تطبيقك.
الخطوة 2: إضافة حِزم تطوير البرامج (SDK) المطلوبة
استخدِم Swift Package Manager (SPM) لتثبيت تبعيات Xcode وإدارتها. لا تتوفّر ميزة الدعم المختلط إلا عند استخدام SPM.
توفر مكتبة Firebase AI Logic إمكانية الوصول إلى واجهات برمجة التطبيقات للتفاعل
مع النماذج التوليدية. يتم تضمين المكتبة كجزء من حزمة Firebase SDK لمنصّات Apple (firebase-ios-sdk).
إذا كنت تستخدم Firebase حاليًا، تأكَّد من أنّ حزمة Firebase هي الإصدار 12.13.0 أو إصدار أحدث.
في Xcode، افتح مشروع تطبيقك وانتقِل إلى ملف > إضافة تبعيات الحزمة.
عند مطالبتك بذلك، أضِف مستودع حزمة Firebase SDK لمنصّات Apple:
https://github.com/firebase/firebase-ios-sdkاختَر أحدث إصدار من حزمة SDK.
اختَر مكتبة
FirebaseAILogic.
بعد الانتهاء، سيبدأ Xcode تلقائيًا في حلّ التبعيات وتنزيلها في الخلفية.
الخطوة 3: تهيئة الخدمة وإنشاء مثيل لجلسة النموذج
|
انقر على مقدّم الخدمة 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,
)
الخطوة 4: إرسال طلب موجّه إلى نموذج
يوضّح لك هذا القسم كيفية إجراء ما يلي:
إنشاء نص من إدخال نصي فقط
| قبل تجربة هذا المثال، تأكَّد من إكمال قسم البدء في هذا الدليل. |
لإنشاء نص من طلب يحتوي على نص، استخدِم 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 ونماذج الطلبات غير متاحة للتنفيذ المختلط أو التنفيذ على الجهاز فقط implementations. بالإضافة إلى ذلك، يجب عدم الاعتماد على عدد الرموز المميزة لأنّ العدد سيختلف بين النماذج المستضافة على السحابة الإلكترونية والنماذج على الجهاز فقط، لذا لا يوجد خيار رجوع بديهي.
الميزات التالية غير متاحة بعد للاستنتاج على الجهاز فقط. إذا أردت استخدام أي من هذه الميزات، ننصحك باستخدام نموذج مستضاف على السحابة الإلكترونية فقط للحصول على تجربة أكثر اتساقًا.
إنشاء نص من إدخالات متعددة الوسائط، مثل الصور والمحتوى الصوتي والفيديوهات والمستندات (ملفات PDF)
إنشاء وسائط، مثل الصور أو المحتوى الصوتي أو الفيديو
إرسال طلبات تتجاوز 4096 رمزًا مميزًا (أو ما يقارب 3000 كلمة باللغة الإنجليزية)
تزويد النموذج على الجهاز فقط بالأدوات المضمّنة لمساعدته في إنشاء ردّه (مثل تنفيذ الرموز البرمجية وسياق عنوان URL وتحديد المصدر من خلال "بحث Search")
لا يعرض تتبّع استخدام الذكاء الاصطناعي في Firebase console أي بيانات للاستدلال على الجهاز فقط (بما في ذلك سجلّات الجهاز). ومع ذلك، يمكن رصد أي استدلال يستخدم نموذجًا مستضافًا على السحابة الإلكترونية تمامًا مثل أي استدلال آخر من خلال Firebase AI Logic
قيود إضافية
بالإضافة إلى ما سبق، يفرض الاستدلال على الجهاز فقط القيود التالية:
يجب أن يستخدم المستخدم النهائي لتطبيقك جهازًا تم تفعيل ميزة Apple Intelligence عليه.
لا يمكن لتطبيقك تشغيل الاستدلال على الجهاز إلا عندما يكون التطبيق في المقدّمة.
تقديم ملاحظات حول تجربتك معFirebase AI Logic