تضمين الملفات الكبيرة في الطلبات المتعدّدة الوسائط وإدارة الملفات باستخدام Cloud Storage for Firebase

عند طلب Gemini API من تطبيقك باستخدام حزمة تطوير البرامج (SDK) لVertex AI in Firebase، يمكنك توجيه نموذج Gemini لإنشاء نص استنادًا إلى إدخال متعدد الوسائط. يمكن أن تتضمّن الطلبات المتعدّدة الوسائط عدة وسائط (أو أنواع إدخال)، مثل النصوص والصور وملفات PDF والفيديوهات والمقاطع الصوتية.

بالنسبة إلى الأجزاء غير النصية من الإدخال (مثل ملفات الوسائط)، يمكنك اختياريًا استخدام Cloud Storage for Firebase لتضمين الملفات في الطلب. في ما يلي معلومات عامة حول هذه الميزة:

  • يمكنك استخدام Cloud Storage for Firebase مع أي طلب متعدد الوسائط (مثل إنشاء النصوص والمحادثة). تعرض الأمثلة في هذا الدليل إدخالًا أساسيًا للنص والصورة.

  • يمكنك تحديد نوع MIME للملف وعنوان URL الخاص به على Cloud Storage for Firebase (الذي يبدأ دائمًا بـ gs://) في إدخال الطلب. هذه القيم هي data الوصفية التي يتمّ تعيينها تلقائيًا لأيّ ملف يتمّ تحميله إلى حزمة Cloud Storage.

  • يجب استخدام نوع ملف وعنوان URL متوافقَين.


يوضّح دليل الحلول هذا كيفية إعداد Cloud Storage for Firebase وتحميل ملف إلى حزمة Cloud Storage for Firebase من تطبيقك، ثم تضمين نوع ملف Cloud Storage for Firebase وعنوان URL الخاص به في طلبك المتعدّد الوسائط المرسَل إلى Gemini API.

هل تريد الاطّلاع على أمثلة الرموز؟ هل سبق لك إعداد Cloud Storage for Firebase وهل أنت مستعد لبدء استخدامه مع طلباتك باستخدام وسائط متعددة؟

الانتقال إلى أمثلة الرموز البرمجية

ما هي مزايا استخدام Cloud Storage for Firebase مع تطبيقك؟

يستخدم Cloud Storage for Firebase البنية الأساسية نفسها السريعة والآمنة والقابلة للتوسّع التي يستخدمها Google Cloud Storage لتخزين ملفات البيانات غير القابلة للتغيير والملفات، وحِزم تطوير البرامج (SDK) للعملاء مصمّمة خصيصًا للتطبيقات المتوافقة مع الأجهزة الجوّالة والمواقع الإلكترونية.

بالنسبة إلى حِزم تطوير البرامج (SDK) Vertex AI in Firebase، يبلغ الحد الأقصى لحجم الطلب 20 ميغابايت. يظهر لك خطأ HTTP 413 إذا كان الطلب كبيرًا جدًا. إذا كان حجم ملف معيّن يؤدي إلى تجاوز إجمالي حجم الطلب 20 ميغابايت، استخدِم عنوان URL بعنوان Cloud Storage for Firebase لتضمين الملف في طلبك المتعدّد الوسائط. ومع ذلك، إذا كان الملف صغيرًا، يمكنك غالبًا تمريره مباشرةً كبيانات مضمّنة (يُرجى العلم أنّ الملف المقدَّم كبيانات مضمّنة يتم ترميزه إلى base64 أثناء النقل، ما يزيد من حجم الطلب).

في ما يلي بعض المزايا الإضافية لاستخدام Cloud Storage for Firebase:

  • يمكنك أن تطلب من المستخدمين النهائيين تحميل الصور مباشرةً من تطبيقك إلى حزمة Cloud Storage for Firebase، ثم يمكنك تضمين هذه الصور في طلباتك المتعدّدة الوسائط من خلال تحديد نوع MIME للملف وعنوان URL الخاص بملف Cloud Storage for Firebase (وهو معرّف للملف).

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

    • إذا انقطعت عملية تحميل أو تنزيل ملف، ستعيد حِزم Cloud Storage for Firebase SDK تلقائيًا تشغيل العملية من حيث توقفت.
    • يمكن استخدام الملف الذي تم تحميله نفسه عدة مرات بدون أن يحتاج المستخدم النهائي إلى تحميل الملف نفسه في كل مرة يكون مطلوبًا فيها في تطبيقك (مثل ملف طلب متعدد الوسائط جديد).
  • يمكنك حظر وصول المستخدم النهائي إلى الملفات المخزّنة في Cloud Storage for Firebase باستخدام Firebase Security Rules، التي لا تسمح إلا لمستخدم مفوَّض بتحميل الملفات أو تنزيلها أو حذفها.

  • يمكنك الوصول إلى الملفات في حزمة التخزين من Firebase أو من Google Cloud، ما يمنحك المرونة في إجراء المعالجة من جهة الخادم، مثل تصفية الصور أو تحويل ترميز الفيديو باستخدام واجهات برمجة تطبيقات Google Cloud Storage.

ما هي أنواع الملفات وعناوين URL المتوافقة؟

في ما يلي متطلبات الملفات وعناوين URL عند استخدام Cloud Storage for Firebase عناوين URL مع حِزم تطوير البرامج (SDK) Vertex AI in Firebase:

  • يجب أن يستوفي الملف متطلبات ملفات الإدخال لطلبات الوسائط المتعددة عند استخدام حِزم SDK Vertex AI in Firebase. ويشمل ذلك المتطلبات مثل نوع MIME وحجم الملف.

  • يجب تخزين الملف في حزمة Cloud Storage for Firebase (يعني ذلك أنّه يمكن لخدمات Firebase الوصول إلى الحزمة، مثل Firebase Security Rules). إذا كان بإمكانك عرض الحزمة في وحدة تحكّم Firebase، هذا يعني أنّها حزمة Cloud Storage for Firebase.

  • يجب أن تكون حزمة Cloud Storage for Firebase في مشروع Firebase نفسه الذي سجّلت فيه تطبيقك.

  • يجب أن يبدأ عنوان URL الخاص بالملف على Cloud Storage for Firebase بالرمز gs://، وهو الطريقة التي يتم بها إنشاء جميع عناوين URL الخاصة بـ Google Cloud Storage.

  • لا يمكن أن يكون عنوان URL للملف هو عنوان URL "لمتصفّح" (على سبيل المثال، عنوان URL لصورة تجدها على الإنترنت).

يجب أيضًا أن يسمح Firebase Security Rules لحزمة التخزين الخاصة بك بالوصول المناسب إلى الملف. على سبيل المثال:

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

  • إذا كانت لديك قواعد صارمة (ننصح بشدة بذلك)، ستتحقّق Firebase من أنّ المستخدِم الذي سجّل الدخول أو العميل لديه إذن وصول كافٍ إلى الملف قبل السماح بإجراء المكالمة باستخدام عنوان URL المقدَّم.

استخدام عناوين URL الخاصة بخدمة Cloud Storage for Firebase مع Vertex AI in Firebase

الخطوة 1: إعداد Cloud Storage for Firebase

في ما يلي المهام الأساسية التي عليك تنفيذها:

  1. أنشئ حزمة Cloud Storage for Firebase في مشروعك على Firebase.

  2. طبِّق Firebase Security Rules على هذه المجموعة. Firebase Security Rules تساعدك في تأمين ملفاتك من خلال حصر إمكانية الوصول بالمستخدمين النهائيين المعتمَدين.

  3. أضِف مكتبة البرامج لنظام التشغيل Cloud Storage for Firebase إلى تطبيقك.

    تجدر الإشارة إلى أنّه يمكنك تخطّي هذه المهمة، ولكن عليك بعد ذلك دائمًا تضمين نوع MIME وقيم عناوين URL الخاصة بـ Cloud Storage for Firebase بشكل صريح في طلباتك المتعدّدة الوسائط.

الخطوة 2: تحميل ملف إلى حزمة

عند تحميل ملف إلى حزمة، تطبِّق Cloud Storage تلقائيًا المعلومتَين التاليتَين على الملف. عليك تضمين هذه القيم في طلب التفاعل المتعدّد الأوجه (كما هو موضّح في الخطوة التالية من هذا الدليل).

  • نوع MIME: هذا هو نوع الوسائط للملف (على سبيل المثال، image/png). سيحاول Cloud Storage for Firebase تلقائيًا رصد نوع MIME أثناء التحميل وتطبيق هذه البيانات الوصفية على العنصر في الحزمة. ومع ذلك، يمكنك اختياريًا تحديد نوع MIME أثناء التحميل.

  • عنوان URL لـ Cloud Storage for Firebase: هو معرّف فريد للملف. يجب أن يبدأ عنوان URL بـ gs://.

الخطوة 3: تضمين نوع MIME للملف وعنوان URL الخاص به في طلب متعدد الوسائط

بعد تخزين ملف في حزمة Cloud Storage for Firebase، يمكنك تضمين نوع MIME وعنوان URL الخاص بـ Cloud Storage for Firebase في طلب متعدد الوسائط. يُرجى العلم أنّ هذه الأمثلة تعرض طلب generateContent بدون بث، ولكن يمكنك أيضًا استخدام عناوين URL Cloud Storage for Firebase مع البث والمحادثة.

لتضمين الملف في الطلب، يمكنك استخدام أيّ من الخيارَين التاليَين:

الخيار 1: تضمين نوع MIME وعنوان URL باستخدام مرجع مساحة تخزين

استخدِم هذا الخيار إذا كنت قد حمّلت الملف للتو إلى الحزمة، وأردت تضمين الملف على الفور (من خلال مرجع في "مساحة التخزين") في طلب الوسائط المتعددة. تتطلّب المكالمة نوع MIME وعنوان URL Cloud Storage for Firebase.

الخيار 2: تضمين نوع MIME وعنوان URL بشكل صريح

استخدِم هذا الخيار إذا كنت تعرف قيم نوع MIME وعنوان URL لملف Cloud Storage for Firebase، وكنت تريد تضمينها صراحةً في طلب الوسائط المتعددة. تتطلّب المكالمة نوع MIME وعنوان URL.