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

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

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

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

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

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


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

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

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

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

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

بالنسبة إلى حِزم تطوير البرامج (SDK) لحزمة Vertex AI for 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 (وهو معرّف للملف).

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

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

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

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

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

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

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

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

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

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

بالإضافة إلى ذلك، يجب أن تتيح قواعد أمان Firebase للحزمة الوصول المناسب إلى الملف. على سبيل المثال:

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

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

استخدام Cloud Storage لعناوين URL في Firebase مع Vertex AI for Firebase

الخطوة 1: إعداد Cloud Storage لمنصّة Firebase

إليك المهام عالية المستوى التي ستحتاج إلى القيام بها:

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

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

  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 لـ Firebase.

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

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