Çok modlu isteklere büyük dosyaları dahil edin ve dosyaları Firebase için Cloud Storage'ı kullanarak yönetin

Gemini API'yi Firebase için Vertex AI SDK'sını kullanarak uygulamanızdan çağırırken Gemini modelinden çok modlu bir girişe göre metin oluşturmasını isteyebilirsiniz. Çok modlu istemler resim, PDF, video ve sesin yanı sıra metin gibi birden fazla yöntem (veya giriş türü) içerebilir.

Girişin metin olmayan kısımları (ör. medya dosyaları) için isteğe bağlı olarak Cloud Storage for Firebase ile isteğe dosya ekleyebilirsiniz. Genel olarak, bu özellikle ilgili bilmeniz gerekenler şunlardır:

  • Cloud Storage for Firebase'i tüm çok modlu isteklerle (metin oluşturma ve sohbet gibi) kullanabilirsiniz. Bu kılavuzdaki örneklerde temel bir metin ve resim girişi gösterilmektedir.

  • İstek girişinde dosyanın MIME türünü ve Firebase için Cloud Storage URL'sini (her zaman gs:// ile başlar) belirtirsiniz. Bu değerler, bir Cloud Storage paketine yüklenen herhangi bir dosyaya otomatik olarak atanan meta verilerdir.

  • Desteklenen bir dosya türü ve URL kullanmanız gerekir.


Bu çözüm kılavuzunda, Google Cloud'da Cloud Storage for Firebase'in nasıl ayarlanacağı, uygulamanızdan bir Cloud Storage for Firebase paketine dosya yükleme, ardından dosyanın MIME türü ile Cloud Storage for Firebase URL'sini Gemini API'ye yönelik çok modlu isteğinize nasıl ekleyeceğiniz açıklanmaktadır.

Kod örneklerini görmek ister misiniz? Yoksa Cloud Storage for Firebase'i kurduysanız ve çok modlu isteklerinizle birlikte kullanmaya hazır mısınız?

Kod örneklerine atla

Uygulamanızda Firebase için Cloud Storage'ı neden kullanmalısınız?

Cloud Storage for Firebase, blob'ları ve dosyaları depolamak için Google Cloud Storage ile aynı hızlı, güvenli ve ölçeklenebilir altyapıyı kullanır. Bu altyapının istemci SDK'ları, mobil uygulamalar ve web uygulamaları için özel olarak tasarlanmıştır.

Vertex AI for Firebase SDK'larında maksimum istek boyutu 20 MB'tır. Bir istek çok büyükse HTTP 413 hatası alırsınız. Bir dosyanın boyutu toplam istek boyutunun 20 MB'ı aşmasına neden oluyorsa dosyayı çok modlu isteğinize eklemek için bir Firebase için Cloud Storage URL'si kullanın. Bununla birlikte, bir dosya küçükse bunu genellikle doğrudan satır içi veri olarak aktarabilirsiniz (yine de, satır içi veri olarak sağlanan bir dosyanın aktarım sırasında base64 olarak kodlandığına ve bunun da isteğin boyutunu artıracağına dikkat edin).

Firebase için Cloud Storage'ı kullanmanın ek avantajlarından bazıları şunlardır:

  • Son kullanıcıların doğrudan uygulamanızdan bir Cloud Storage for Firebase paketine görüntü yüklemesini sağlayabilirsiniz. Ardından dosyanın MIME türünü ve Cloud Storage for Firebase URL'sini (dosya tanımlayıcısıdır) belirterek bu görüntüleri çok modlu istemlerinize ekleyebilirsiniz.

  • Özellikle ağ kalitesi kötü veya kesintiliyse son kullanıcılarınızın resim sağlaması gerektiğinde zamandan ve bant genişliğinden tasarruf edebilirsiniz.

    • Dosya yükleme veya indirme işlemi kesintiye uğrarsa Firebase için Cloud Storage SDK'ları işlemi otomatik olarak kaldığı yerden yeniden başlatır.
    • Yüklenen aynı dosya, son kullanıcının uygulamanızda her ihtiyaç duyduğunda aynı dosyayı yüklemek zorunda kalmadan (yeni bir çok modlu istekte olduğu gibi) birden fazla kez kullanılabilir.
  • Yalnızca yetkili bir kullanıcının dosya yüklemesine, indirmesine veya silmesine izin veren Firebase Güvenlik Kuralları'nı kullanarak son kullanıcıların Firebase için Cloud Storage'da depolanan dosyalara erişimini kısıtlayabilirsiniz.

  • Paketinizdeki dosyalara Firebase'den veya Google Cloud'dan erişebilirsiniz. Böylece, Google Cloud Storage API'lerini kullanarak görüntü filtreleme veya video kodu dönüştürme gibi sunucu tarafı işlemleri yapma esnekliğine sahip olursunuz.

Hangi dosya ve URL türleri desteklenir?

Cloud Storage for Firebase URL'lerini Firebase için Vertex AI SDK'larıyla birlikte kullanmak istediğinizde dosya ve URL gereksinimleri aşağıda verilmiştir:

  • Dosya, Firebase için Vertex AI SDK'ları kullanılırken çok modlu istekler için giriş dosyası gereksinimlerini karşılamalıdır. MIME türü ve dosya boyutu gibi koşullar da buna dahildir.

  • Dosya, Cloud Storage for Firebase paketinde depolanmalıdır (yani, pakete Firebase Güvenlik Kuralları gibi Firebase hizmetleri tarafından erişilebilir). Paketinizi Firebase konsolunda görüntüleyebiliyorsanız bu bir Cloud Storage for Firebase paketidir.

  • Cloud Storage for Firebase paketi, uygulamanızı kaydettiğiniz Firebase projesinde olmalıdır.

  • Dosyanın Cloud Storage for Firebase URL'si, tüm Google Cloud Storage URL'lerinin oluşturulma şekli olan gs:// ile başlamalıdır.

  • Dosyanın URL'si bir "tarayıcı" URL'si (örneğin, internette bulduğunuz bir resmin URL'si) olamaz.

Ayrıca paketinizin Firebase Güvenlik Kuralları, dosyaya uygun erişime izin vermelidir. Örnek:

  • Herkese açık kurallarınız varsa herhangi bir kullanıcı veya istemci dosyaya erişebilir ve Firebase için Vertex AI SDK'sını kullanarak dosyanın URL'sini bir çağrıda sağlayabilir. Bu tür kurallar sadece başlangıç aşamasında ve ilk prototip oluşturma sırasında kullanılmalıdır (dosyaların aslında herkesin erişimine açık dosyalar olması amaçlanmamışsa).

  • Güçlü kurallarınız varsa (kesinlikle önerilir) Firebase, çağrının sağlanan URL ile yapılmasına izin vermeden önce oturum açmış kullanıcının veya istemcinin dosyaya yeterli erişimi olup olmadığını kontrol eder.

Firebase için Vertex AI ile Cloud Storage for Firebase URL'lerini kullanma

1. Adım: Cloud Storage for Firebase'i kurun

Yapmanız gereken üst düzey görevler şunlardır:

  1. Firebase projenizde Cloud Storage for Firebase paketi oluşturun.

  2. Bu pakete Firebase Güvenlik Kuralları'nı uygulayın. Firebase Güvenlik Kuralları, erişimi yetkili son kullanıcılarla kısıtlayarak dosyalarınızın güvenliğini sağlamanıza yardımcı olur.

  3. Cloud Storage for Firebase istemci kitaplığını uygulamanıza ekleyin.

    Bu görevi atlayabileceğinizi ancak bu durumda her zaman çok modlu isteklerinize MIME türünü ve Firebase için Cloud Storage URL değerlerini açık bir şekilde eklemeniz gerektiğini unutmayın.

2. Adım: Pakete dosya yükleyin

Bir paketi bir pakete yüklediğinizde Cloud Storage, aşağıdaki iki bilgiyi dosyaya otomatik olarak uygular. Bu değerleri çok modlu isteğe eklemeniz gerekir (bu kılavuzun bir sonraki adımında gösterildiği gibi).

  • MIME türü: Dosyanın medya türüdür (örneğin, image/png). Cloud Storage for Firebase, yükleme sırasında otomatik olarak MIME türünü algılamaya çalışır ve bu meta verileri paketteki nesneye uygular. Ancak, isteğe bağlı olarak yükleme sırasında MIME türünü belirtebilirsiniz.

  • Cloud Storage for Firebase URL'si: Bu, dosyanın benzersiz tanımlayıcısıdır. URL, gs:// ile başlamalıdır.

3. Adım: Dosyanın MIME türünü ve URL'sini çok modlu bir isteğe ekleyin

Bir dosyayı Firebase için Cloud Storage paketinde depoladığınızda, dosyanın MIME türünü ve Firebase için Cloud Storage URL'sini çok modlu bir isteğe ekleyebilirsiniz. Bu örneklerin akış olmayan bir generateContent isteğini gösterdiğini ancak akış ve sohbet ile birlikte Cloud Storage for Firebase URL'lerini de kullanabileceğinizi unutmayın.

Dosyayı isteğe eklemek için aşağıdaki seçeneklerden birini kullanabilirsiniz:

1. Seçenek: MIME türünü ve URL'yi bir Storage referansı kullanarak ekleme

Dosyayı pakete yeni yüklediyseniz ve dosyayı çok modlu isteğe hemen dahil etmek (bir Storage referansı aracılığıyla) istiyorsanız bu seçeneği kullanın. Çağrı için hem MIME türü hem de Firebase için Cloud Storage URL'si gerekir.

2. Seçenek: MIME türünü ve URL'yi açıkça ekleyin

MIME türü ve Cloud Storage for Firebase URL'sinin değerlerini biliyorsanız ve bunları çok modlu isteğe açıkça dahil etmek istiyorsanız bu seçeneği kullanın. Çağrı için hem MIME türü hem de URL gerekir.