نقل البيانات لاستخدام إصدار "إحصاءات Google" من Vertex AI في Firebase


تم إطلاق Vertex AI in Firebase للجمهور العام في 21 تشرين الأول (أكتوبر) 2024.

إذا كنت قد استخدمت إصدار المعاينة من مكتبة Vertex AI in Firebase (FirebaseVertexAI-Preview)، عليك إجراء الخطوات التالية للترقية إلى استخدام إصدار "إصدار Google العام" من المكتبة (FirebaseVertexAI).

في ما يلي قائمة على مستوى عالٍ بالتغييرات المطلوبة لنقل البيانات:

تفعيل واجهة برمجة التطبيقات الجديدة المطلوبة في مشروعك على Firebase (إجراء مطلوب للجميع)

عليك تفعيل واجهة برمجة التطبيقات Vertex AI in Firebase في مشروعك على Firebase وإضافتها إلى القائمة المسموح بها لمفتاح واجهة برمجة التطبيقات Firebase. هذه واجهة برمجة تطبيقات جديدة مطلوبة لاستخدام إصدار Universal Analytics من Vertex AI in Firebase.

  1. في وحدة تحكّم Firebase، انتقِل إلى صفحة الإنشاء باستخدام Gemini.

  2. في بطاقة Vertex AI in Firebase، انقر على البدء لبدء عملية سير تساعدك في تفعيل واجهة برمجة التطبيقات هذه وإضافتها إلى القائمة المسموح بها لمفتاح واجهة برمجة التطبيقات في Firebase.

  3. يمكنك تخطّي بقية سير العمل في وحدة التحكّم.

التحديث إلى إصدار المكتبة العلني (مطلوب للجميع)

اتّبِع التعليمات التالية لتعديل قاعدة بيانات تطبيقك لاستخدام الإصدار العلني من المكتبة:

  1. في Xcode، مع فتح مشروع تطبيقك، عدِّل حزمة Firebase إلى الإصدار 11.4.0 أو إصدار أحدث باستخدام أحد الخيارَين التاليَين:

    • الخيار 1: تحديث جميع الحِزم: انتقِل إلى ملف > الحِزم > التحديث إلى أحدث إصدارات الحِزم.

    • الخيار 2: تعديل Firebase بشكلٍ فردي: انتقِل إلى حِزمة Firebase في القسم المُسمى تبعيات الحِزمة. انقر بزر الماوس الأيمن على حزمة Firebase، ثم اختَر تعديل الحزمة.

  2. تأكَّد من أنّ حزمة Firebase تعرِض الآن الإصدار 11.4.0 أو إصدارًا أحدث. إذا لم يكن الأمر كذلك، تأكَّد من أنّ متطلبات الحزمة المحدّدة سمحت بالتحديث إلى الإصدار 11.9.0 أو إصدار أحدث.

  3. اختَر استهداف تطبيقك في محرر المشاريع، ثم انتقِل إلى القسم الإطارات والمراجع والمحتوى المضمّن.

  4. انقر على الزر +، ثم أضِف FirebaseVertexAI من حزمة Firebase.

  5. اختَر FirebaseVertexAI-Preview، ثم اضغط على الزر .

تغييرات إضافية (مطلوب استيفاؤها حسب الميزات التي تستخدمها)

تم تنفيذ العديد من التغييرات على إصدارات حِزم SDK في "إحصاءات Google". راجِع القائمتَين التاليتَين لمعرفة أي تغييرات قد تحتاج إلى إجرائها في الرمز البرمجي ليتلاءم مع استخدام إصدار حزمة SDK من الإصدار العلني في تطبيقك.

  • استدعاء الدوالّ
    إذا نفّذت هذه الميزة قبل إطلاق "إحصاءات Google"، عليك إجراء تعديلات على طريقة تحديد المخطّط. ننصحك بمراجعة دليل استدعاء الدوال البرمجية المعدَّل للتعرّف على كيفية كتابة تعريفات الدوال البرمجية.

  • إنشاء إخراج منظَّم (مثل JSON) باستخدام responseSchema
    إذا نفّذت هذه الميزة قبل إطلاق الإصدار العلني، عليك إجراء تعديلات على طريقة تحديد المخطّط. ننصحك بمراجعة دليل النتائج المنظَّمة الجديد للتعرّف على كيفية كتابة مخطّطات JSON.

  • المهلة

    • تم تغيير المهلة التلقائية للطلبات لتصبح 180 ثانية.
  • التعدادات

    • تم استبدال معظم أنواع enum بأنواع struct تتضمّن متغيّرات ثابتة. يتيح هذا التغيير مزيدًا من المرونة لتطوير واجهة برمجة التطبيقات بطريقة متوافقة مع الإصدارات القديمة. عند استخدام عبارات switch، يجب الآن تضمين حالة default: لتغطية القيم غير المعروفة أو التي لم تتم معالجتها، بما في ذلك القيم الجديدة التي تتم إضافتها إلى حزمة تطوير البرامج (SDK) في المستقبل.

    • تمت إعادة تسمية التعداد BlockThreshold إلى HarmBlockThreshold، وأصبح هذا النوع الآن struct.

    • تمت إزالة حالتَي unknown وunspecified من التعدادات التالية (التي أصبحت الآن struct): HarmCategory وHarmBlockThreshold وHarmProbability وBlockReason وFinishReason.

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

  • أجزاء المحتوى

    • تمت إزالة بروتوكول ThrowingPartsRepresentable وتم تبسيط مُنشئ ModelContent لتجنُّب الأخطاء المفاجئة في المُجمِّع. ستستمر الصور التي لا يتم تشفيرها بشكل صحيح في عرض أخطاء عند استخدامها في generateContent.

    • تم استبدال حالات ModelContent.Part بأنواع struct التالية المتوافقة مع بروتوكول Part:

      • من .text إلى TextPart
      • من .data إلى InlineDataPart
      • من .fileData إلى FileDataPart
      • من .functionCall إلى FunctionCallPart
      • من .functionResponse إلى FunctionResponsePart
  • فئة الضرر

    • تم تغيير HarmCategory لكي لا يكون مضمّنًا في النوع SafetySetting. إذا كنت تشير إليه باسم SafetySetting.HarmCategory، يمكن استبداله بـ HarmCategory.
  • ملاحظات حول السلامة

    • تمت إزالة النوع SafetyFeedback، لأنّه لم يتم استخدامه في أي من الاستجابات.
  • البيانات الوصفية للإسناد

    • تمت إعادة تسمية الموقع citationSources إلى citations في CitationMetadata.
  • إجمالي الأحرف التي يمكن إصدار فاتورة بها

    • تم تغيير سمة totalBillableCharacters في CountTokensResponse لتكون اختيارية لتعكس الحالات التي لا يتم فيها إرسال أي أحرف.
  • ردّ المرشح

    • تمت إعادة تسمية CandidateResponse إلى Candidate لتطابق المنصات الأخرى.
  • إعدادات الإنشاء

    • تم تغيير السمات العامة GenerationConfig إلى internal. ويظلّ بإمكانك ضبطها جميعًا في أداة الإعداد.

الأخطاء المحتمَلة المرتبطة بعملية نقل البيانات

أثناء نقل البيانات لاستخدام إصدار "إحصاءات Google" من Vertex AI in Firebase، قد تواجه أخطاء إذا لم تكن قد أكملت جميع التغييرات المطلوبة كما هو описан في دليل نقل البيانات هذا.

الخطأ 403: Requests to this API firebasevertexai.googleapis.com ... are blocked.

إذا تلقّيت خطأ 403 يشير إلى Requests to this API firebasevertexai.googleapis.com ... are blocked.، يعني ذلك عادةً أنّ مفتاح واجهة برمجة التطبيقات في ملف/عنصر إعدادات Firebase لا يتضمّن واجهة برمجة تطبيقات مطلوبة في القائمة المسموح بها للمنتج الذي تحاول استخدامه.

تأكَّد من أنّ مفتاح واجهة برمجة التطبيقات المستخدَم في تطبيقك يتضمّن كل واجهات برمجة التطبيقات المطلوبة والمُدرَجة في القائمة المسموح بها ضمن "قيود واجهة برمجة التطبيقات" للمفتاح. بالنسبة إلى Vertex AI in Firebase، يجب أن يتضمّن مفتاح واجهة برمجة التطبيقات على الأقل واجهة برمجة التطبيقات Vertex AI in Firebase في القائمة المسموح بها. من المفترض أن تمت إضافة واجهة برمجة التطبيقات هذه تلقائيًا إلى القائمة المسموح بها لمفتاح واجهة برمجة التطبيقات عند تفعيل واجهة برمجة التطبيقات الجديدة من خلال وحدة تحكّم Firebase.

يمكنك الاطّلاع على جميع مفاتيح واجهة برمجة التطبيقات في واجهات برمجة التطبيقات والخدمات > بيانات الاعتماد لوحة في وحدة تحكّم Google Cloud.