إنشاء تجارب مختلطة في تطبيقات Apple باستخدام نماذج على الجهاز ونماذج مستضافة على السحابة الإلكترونية

يمكنك إنشاء تطبيقات وميزات Apple مستندة إلى الذكاء الاصطناعي مع استنتاج مختلط باستخدام Firebase AI Logic. تتيح الاستدلال المختلط تنفيذ الاستدلال باستخدام نماذج على الجهاز فقط (تحديدًا إطار عمل النماذج الأساسية من Apple) عند توفّرها، والرجوع بسلاسة إلى نماذج Google المستضافة على السحابة الإلكترونية في حال عدم توفّرها (والعكس صحيح).

توضّح هذه الصفحة كيفية البدء في استخدام حزمة تطوير البرامج (SDK) الخاصة بالعميل، بالإضافة إلى عرض خيارات وإمكانات إعدادات إضافية، مثل درجة العشوائية.

يُرجى العِلم أنّ الاستدلال على الجهاز من خلال Firebase AI Logic متاح لتطبيقات Apple التي تستخدم الإصدار 12.13.0 أو إصدارًا أحدث من حزمة تطوير البرامج (SDK) الخاصة بـ Firebase AI Logic، والتي تعمل على الأجهزة التي تم تفعيل Apple Intelligence عليها. وتخضع هذه النماذج لمتطلبات الاستخدام المقبول لإطار عمل النماذج الأساسية من Apple.

حالات الاستخدام المقترَحة

  • يوفّر استخدام نموذج على الجهاز فقط للاستدلال ما يلي:

    • خصوصية محسّنة
    • الاستدلال بدون تكلفة
    • وظائف بلا إنترنت
  • تتضمّن وظائف الوضع المختلط ما يلي:

    • توفير تجربة تطبيق مماثلة لجميع العملاء بغض النظر عن جهاز المستخدم النهائي
    • تحسين توفّر ميزات الذكاء الاصطناعي التوليدي، بغض النظر عن الاتصال بالإنترنت أو قيود الحصة أو إمكانات الجهاز

الإمكانات وواجهات برمجة التطبيقات والأجهزة المتوافقة

قبل تنفيذ الاستنتاج المختلط والاستنتاج على الجهاز فقط باستخدام Firebase AI Logic، راجِع هذا القسم للتعرّف على الميزات المتوافقة مع تطبيقات Apple.

الإمكانات والميزات المتوافقة مع الاستنتاج على الجهاز فقط

تتيح الاستدلال على الجهاز فقط إنشاء النصوص، وتحديدًا إمكانات إنشاء النصوص التالية:

يُرجى مراجعة القائمة التفصيلية للاستدلال المختلط أو الاستدلال على الجهاز فقط غير المتاحَين بعد في أسفل هذه الصفحة.

واجهات برمجة التطبيقات والأجهزة المتوافقة

البدء

تأكَّد من مراجعة القسم أعلاه الذي يصف الإمكانات وواجهات برمجة التطبيقات والأجهزة المتوافقة.

توضّح خطوات البدء هذه عملية الإعداد العام المطلوبة لأي طلب موجّه مدعوم تريد إرساله.

الخطوة 1: إعداد مشروع Firebase وربط تطبيقك بـ Firebase

  1. سجِّل الدخول إلى Firebase وحدة التحكّم، ثم اختَر مشروع Firebase.

  2. في وحدة تحكّم Firebase، انتقِل إلى خدمات الذكاء الاصطناعي > منطق الذكاء الاصطناعي.

  3. انقر على Get started (البدء) لتشغيل سير عمل موجّه يساعدك في إعداد واجهات برمجة التطبيقات المطلوبة والموارد لمشروعك.

  4. اضبط مشروعك لاستخدام موفّر "Gemini API".

    ننصحك بالبدء باستخدام Gemini Developer API. في أي وقت، يمكنك إعداد Vertex AI Gemini API (ومتطلباته المتعلقة بالفوترة).

    بالنسبة إلى Gemini Developer API، ستفعّل وحدة التحكّم واجهات برمجة التطبيقات المطلوبة وتنشئ مفتاح واجهة برمجة تطبيقات Gemini في مشروعك.
    لا تُضِف مفتاح واجهة برمجة التطبيقات Gemini هذا إلى قاعدة رموز تطبيقك. مزيد من المعلومات

  5. إذا طُلب منك ذلك في سير عمل وحدة التحكّم، اتّبِع التعليمات الظاهرة على الشاشة لتسجيل تطبيقك وربطه بمنصة Firebase.

  6. انتقِل إلى الخطوة التالية في هذا الدليل لإضافة حزمة تطوير البرامج (SDK) إلى تطبيقك.

الخطوة 2: إضافة حِزم تطوير البرامج (SDK) المطلوبة

استخدِم Swift Package Manager (SPM) لتثبيت ملحقات Xcode وإدارتها. لا يتوفّر الدعم المختلط إلا عند استخدام SPM.

تتيح مكتبة Firebase AI Logic الوصول إلى واجهات برمجة التطبيقات للتفاعل مع النماذج التوليدية. يتم تضمين المكتبة كجزء من Firebase SDK لأجهزة Apple (firebase-ios-sdk).

إذا كنت تستخدم Firebase حاليًا، تأكَّد من أنّ حزمة Firebase هي الإصدار 12.13.0 أو إصدار أحدث.

  1. في Xcode، بعد فتح مشروع تطبيقك، انتقِل إلى ملف > إضافة موارد الاعتمادية للحزمة (File > Add Package Dependencies).

  2. عندما يُطلب منك ذلك، أضِف مستودع حزمة تطوير البرامج (SDK) لمنصات Apple على Firebase:

    https://github.com/firebase/firebase-ios-sdk
    
  3. اختَر أحدث إصدار من حزمة SDK.

  4. انقر على مكتبة FirebaseAILogic.

عند الانتهاء، سيبدأ Xcode تلقائيًا في حلّ التبعيات وتنزيلها في الخلفية.

الخطوة 3: تهيئة الخدمة وإنشاء مثيل لجلسة النموذج

انقر على مقدّم خدمة Gemini API لعرض المحتوى والرمز الخاصين بمقدّم الخدمة على هذه الصفحة.

يجب إعداد ما يلي قبل إرسال طلب إلى النموذج.

  1. ابدأ الخدمة لموفّر Gemini API الذي اخترته.

  2. أنشئ مثيلاً من GenerativeModelSession باستخدام HybridModel.

  3. اضبط طرازَي 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 ونماذج الطلبات. بالإضافة إلى ذلك، لا يمكن الاعتماد على عدد الرموز المميزة لأنّ العدد سيختلف بين النماذج المستضافة على السحابة الإلكترونية والنماذج المتوفرة على الجهاز فقط، وبالتالي لا يمكن الرجوع إلى عدد بديل.

  • الميزات التالية غير متاحة بعد للاستنتاج على الجهاز فقط. إذا أردت استخدام أيّ من هذه الميزات، ننصحك باستخدام نموذج مستضاف على السحابة الإلكترونية فقط للحصول على تجربة أكثر اتساقًا.

    • إنشاء نصوص من مدخلات متعدّدة الوسائط، مثل الصور والمقاطع الصوتية والفيديوهات والمستندات (ملفات PDF)

    • إنشاء وسائط، مثل الصور أو المحتوى الصوتي أو الفيديو

    • إرسال طلبات تتجاوز 4096 رمزًا مميزًا (أو حوالي 3000 كلمة باللغة الإنجليزية).

    • تزويد النموذج الذي يعمل على الجهاز فقط بأدوات مدمجة لمساعدته في إنشاء الرد (مثل تنفيذ الرموز البرمجية وسياق عنوان URL وتحديد المصدر من خلال "بحث Search")

  • لا تعرض ميزة المراقبة المستندة إلى الذكاء الاصطناعي في وحدة تحكّم Firebase أي بيانات حول الاستدلال على الجهاز (بما في ذلك السجلات على الجهاز). ومع ذلك، يمكن مراقبة أي استنتاج يستخدم نموذجًا مستضافًا على السحابة الإلكترونية تمامًا مثل الاستنتاجات الأخرى من خلال Firebase AI Logic.

القيود الإضافية

بالإضافة إلى ما سبق، تتضمّن عملية الاستدلال على الجهاز فقط القيود التالية:


تقديم ملاحظات حول تجربتك مع Firebase AI Logic