فایل‌های بزرگ را در درخواست‌های چندوجهی قرار دهید و فایل‌ها را با استفاده از Cloud Storage برای Firebase مدیریت کنید

هنگام فراخوانی Gemini API از برنامه خود با استفاده از Vertex AI in Firebase SDK، می‌توانید از مدل Gemini بخواهید متنی را بر اساس یک ورودی چندوجهی تولید کند. اعلان‌های چندوجهی می‌توانند شامل چندین حالت (یا انواع ورودی)، مانند متن همراه با تصاویر، فایل‌های PDF، ویدئو و صدا باشند.

برای بخش‌های غیر متنی ورودی (مانند فایل‌های رسانه)، می‌توانید به صورت اختیاری از Cloud Storage for Firebase استفاده کنید تا فایل‌ها را در درخواست اضافه کنید. در سطح بالا، آنچه باید در مورد این ویژگی بدانید به شرح زیر است:

  • می‌توانید با هر درخواست چندوجهی (مانند تولید متن و چت) از Cloud Storage for Firebase استفاده کنید. مثال‌های این راهنما یک ورودی متن و تصویر اساسی را نشان می‌دهند.

  • شما نوع MIME فایل و Cloud Storage for Firebase (که همیشه با gs:// شروع می شود) در ورودی درخواست مشخص می کنید. این مقادیر به صورت خودکار به هر فایلی که در یک سطل Cloud Storage آپلود می‌شود، ابرداده اختصاص می‌یابد.

  • باید از نوع فایل و URL پشتیبانی شده استفاده کنید.


این راهنمای راه‌حل نحوه راه‌اندازی Cloud Storage for Firebase ، آپلود یک فایل در سطل Cloud Storage for Firebase از برنامه‌تان، و سپس گنجاندن نوع MIME فایل و Cloud Storage for Firebase در درخواست چندوجهی‌تان به Gemini API توضیح می‌دهد.

آیا می خواهید نمونه کدها را ببینید؟ یا قبلاً Cloud Storage for Firebase راه‌اندازی کرده‌اید و آماده شروع استفاده از آن با درخواست‌های چندوجهی خود هستید؟

به نمونه کدها بروید

چرا از Cloud Storage for Firebase با برنامه خود استفاده کنید؟

Cloud Storage for Firebase از همان زیرساخت سریع، ایمن و مقیاس‌پذیر Google Cloud Storage برای ذخیره حباب‌ها و فایل‌ها استفاده می‌کند و SDK‌های مشتری آن به‌طور خاص برای برنامه‌های موبایل و وب ساخته شده‌اند.

برای Vertex AI in Firebase SDK، حداکثر اندازه درخواست 20 مگابایت است. اگر درخواست خیلی بزرگ باشد، خطای HTTP 413 دریافت می کنید. اگر اندازه فایل باعث می‌شود که حجم کل درخواست از 20 مگابایت بیشتر شود، از یک Cloud Storage for Firebase استفاده کنید تا فایل را در درخواست چندوجهی خود قرار دهید. با این حال، اگر یک فایل کوچک است، اغلب می‌توانید آن را مستقیماً به‌عنوان داده‌های درون خطی ارسال کنید (البته توجه داشته باشید که فایلی که به‌عنوان داده‌های درون‌خط ارائه می‌شود در حین انتقال به base64 کدگذاری می‌شود، که اندازه درخواست را افزایش می‌دهد).

در اینجا برخی از مزایای اضافی استفاده از Cloud Storage for Firebase آورده شده است:

  • می‌توانید از کاربران نهایی بخواهید تصاویر را مستقیماً از برنامه شما در سطل Cloud Storage for Firebase آپلود کنند، و سپس می‌توانید آن تصاویر را فقط با تعیین نوع MIME فایل و Cloud Storage for Firebase (که یک شناسه برای فایربیس است) در پیام‌های چندوجهی خود قرار دهید. فایل).

  • در صورت نیاز به ارائه تصاویر، به خصوص اگر کیفیت شبکه ضعیف یا ضعیفی داشته باشند، می توانید در زمان و پهنای باند کاربران نهایی خود صرفه جویی کنید.

    • اگر آپلود یا دانلود فایل قطع شود، Cloud Storage for Firebase SDK به طور خودکار عملیات را درست از همان جایی که متوقف شد، مجدداً راه اندازی می کند.
    • همان فایل آپلود شده را می توان چندین بار استفاده کرد بدون اینکه کاربر نهایی مجبور باشد هر بار که نیاز است همان فایل را در برنامه شما آپلود کند (مانند یک درخواست چندوجهی جدید).
  • می‌توانید دسترسی کاربر نهایی را به فایل‌های ذخیره‌شده در Cloud Storage for Firebase با استفاده از Firebase Security Rules محدود کنید، که فقط به یک کاربر مجاز اجازه آپلود، دانلود یا حذف فایل‌ها را می‌دهد.

  • می‌توانید از Firebase یا Google Cloud به فایل‌های موجود در سطل خود دسترسی داشته باشید، که به شما این امکان را می‌دهد تا پردازش سمت سرور مانند فیلتر کردن تصویر یا رمزگذاری ویدیو را با استفاده از APIهای Google Cloud Storage انجام دهید.

چه نوع فایل ها و URL هایی پشتیبانی می شوند؟

هنگامی که می‌خواهید از Cloud Storage for Firebase با Vertex AI in Firebase SDK استفاده کنید، شرایط لازم برای فایل‌ها و URLها در اینجا آمده است:

  • هنگام استفاده از Vertex AI in Firebase SDK، فایل باید الزامات فایل های ورودی برای درخواست های چندوجهی را برآورده کند. این شامل الزاماتی مانند نوع MIME و اندازه فایل است.

  • فایل باید در یک سطل Cloud Storage for Firebase ذخیره شود (به این معنی که سطل برای سرویس‌های Firebase قابل دسترسی است، مانند Firebase Security Rules ). اگر می‌توانید سطل خود را در کنسول Firebase مشاهده کنید، پس این یک سطل Cloud Storage for Firebase است.

  • سطل Cloud Storage for Firebase باید در همان پروژه Firebase باشد که برنامه خود را در آن ثبت کرده اید.

  • Cloud Storage for Firebase باید با gs:// شروع شود، این روشی است که همه URL‌های Google Cloud Storage ساخته می‌شوند.

  • URL فایل نمی تواند یک URL "مرورگر" باشد (به عنوان مثال، URL تصویری که در اینترنت پیدا می کنید).

همچنین، Firebase Security Rules برای سطل شما باید اجازه دسترسی مناسب به فایل را بدهد. به عنوان مثال:

  • اگر قوانین عمومی دارید، هر کاربر یا مشتری می‌تواند به فایل دسترسی داشته باشد و URL آن را در یک تماس با استفاده از Vertex AI in Firebase SDK ارائه کند. این نوع قوانین فقط باید برای شروع و در طول نمونه سازی اولیه مورد استفاده قرار گیرند (مگر اینکه فایل ها واقعاً فایل های کاملاً در دسترس عموم باشند).

  • اگر قوانین محکمی دارید (اکیداً توصیه می‌شود) ، Firebase قبل از اجازه دادن به تماس با URL ارائه‌شده، بررسی می‌کند که کاربر یا مشتری واردشده به فایل دسترسی کافی به فایل داشته باشد.

از Cloud Storage for Firebase با Vertex AI in Firebase استفاده کنید

مرحله ۱ : Cloud Storage for Firebase تنظیم کنید

در اینجا وظایف سطح بالایی که باید انجام دهید آورده شده است:

  1. در پروژه Firebase خود یک Cloud Storage for Firebase ایجاد کنید.

  2. Firebase Security Rules در این سطل اعمال کنید. Firebase Security Rules به شما کمک می کند تا با محدود کردن دسترسی به کاربران نهایی مجاز، فایل های خود را ایمن کنید.

  3. کتابخانه سرویس گیرنده Cloud Storage for Firebase را به برنامه خود اضافه کنید.

    توجه داشته باشید که می‌توانید از این کار صرف‌نظر کنید، اما باید همیشه مقدار MIME و Cloud Storage for Firebase URL را به صراحت در درخواست‌های چندوجهی خود بگنجانید .

مرحله 2 : یک فایل را در یک سطل آپلود کنید

هنگامی که یک فایل را در یک سطل آپلود می کنید، Cloud Storage به طور خودکار دو قسمت از اطلاعات زیر را روی فایل اعمال می کند. شما باید این مقادیر را در درخواست چندوجهی بگنجانید (همانطور که در مرحله بعدی این راهنما نشان داده شده است).

  • نوع MIME : این نوع رسانه فایل است (به عنوان مثال، image/png ). Cloud Storage for Firebase به طور خودکار سعی می‌کند نوع MIME را در حین آپلود شناسایی کند و آن ابرداده را در شیء موجود در سطل اعمال کند. با این حال، می توانید به صورت اختیاری نوع MIME را در حین آپلود مشخص کنید.

  • Cloud Storage for Firebase URL : این یک شناسه منحصر به فرد برای فایل است. URL باید با gs:// شروع شود.

مرحله 3 : نوع MIME و URL فایل را در یک درخواست چندوجهی وارد کنید

هنگامی که فایلی را در یک سطل Cloud Storage for Firebase ذخیره کردید، می توانید نوع MIME و Cloud Storage for Firebase را در یک درخواست چندوجهی قرار دهید. توجه داشته باشید که این مثال‌ها یک درخواست generateContent غیر جریانی را نشان می‌دهند، اما می‌توانید Cloud Storage for Firebase با پخش جریانی و چت نیز استفاده کنید.

برای قرار دادن فایل در درخواست، می توانید از یکی از گزینه های زیر استفاده کنید:

گزینه 1: نوع MIME و URL را با استفاده از مرجع ذخیره سازی وارد کنید

اگر به تازگی فایل را در سطل آپلود کرده اید، و می خواهید بلافاصله فایل را (از طریق مرجع ذخیره سازی) در درخواست چندوجهی قرار دهید، از این گزینه استفاده کنید. تماس به نوع MIME و Cloud Storage for Firebase نیاز دارد.

گزینه 2: نوع MIME و URL را به صراحت وارد کنید

اگر مقادیر نوع MIME و Cloud Storage for Firebase را می‌دانید و می‌خواهید آنها را به صراحت در درخواست چندوجهی لحاظ کنید، از این گزینه استفاده کنید. تماس به نوع MIME و URL نیاز دارد.