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

Firebase için Vertex AI SDK'sı kullanarak uygulamanızdan Gemini API'yi çağırırken Gemini modelini, çok modlu girişe göre metin oluşturmasını isteyebilirsiniz. Çok modlu istemler; resimlerle birlikte metin, PDF, video ve ses gibi birden fazla modaliteyi (veya giriş türlerini) içerebilir.

Girişin metin olmayan kısımlarında (ör. medya dosyaları) isterseniz isteğe dosya eklemek için Firebase için Cloud Storage'ı kullanabilirsiniz. Özetlemek gerekirse bu özellik hakkında bilmeniz gerekenler şunlardır:

  • Cloud Storage for Firebase'i herhangi bir çok modlu istekle (metin oluşturma ve sohbet gibi) kullanabilirsiniz. Bu kılavuzdaki örnekler, temel bir metin ve resim girişini göstermektedir.

  • İ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, 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 Firebase için Cloud Storage'ın nasıl kurulacağı, uygulamanızdan Firebase için Cloud Storage paketine nasıl dosya yükleneceği ve daha sonra Gemini API'ye gönderilen çok modlu isteğinize dosyanın MIME türü ve Cloud Storage for Firebase URL'sini nasıl dahil edeceğiniz açıklanmaktadır.

Kod örneklerini görmek ister misiniz? Yoksa Firebase için Cloud Storage'ı kurduğunuzu ve bunu çok modlu isteklerinizle kullanmaya başlamaya hazır mısınız?

Kod örneklerine geçin

Uygulamanızda neden Firebase için Cloud Storage 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. Google Cloud Storage'ın istemci SDK'ları ise mobil uygulamalar ve web uygulamaları için özel olarak tasarlanmıştır.

Firebase SDK'ları için Vertex AI'da maksimum istek boyutu 20 MB'tır. İstek çok büyükse HTTP 413 hatası alırsınız. Bir dosyanın boyutu toplam istek boyutunun 20 MB'ı aşmasına neden olacaksa dosyayı çok modlu isteğinize dahil etmek için bir Firebase için Cloud Storage URL'si kullanın. Bununla birlikte, bir dosya küçükse çoğu zaman doğrudan satır içi veri olarak aktarabilirsiniz (yine de, satır içi veri olarak sağlanan bir dosyanın geçiş halindeki base64'e kodlandığını ve bu durumun isteğin boyutunu büyüttüğünü unutmayın).

Firebase için Cloud Storage kullanmanın diğer avantajlarından bazıları şunlardır:

  • Son kullanıcıların doğrudan uygulamanızdan Firebase için Cloud Storage paketine resim yüklemesini sağlayabilirsiniz. Ardından bu görüntüleri, dosyanın MIME türünü ve Firebase için Cloud Storage URL'sini (dosya için tanımlayıcı olan) belirterek çok modlu istemlerinize dahil edebilirsiniz.

  • Özellikle ağ kalitesi kötü veya kesintiliyse son kullanıcılarınıza, resim sağlamaları gerekiyorsa zaman ve bant genişliğinden tasarruf edebilirsiniz.

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

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

Hangi dosya ve URL türleri desteklenir?

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

  • Dosya, Firebase için Vertex AI SDK'ları kullanıldığında çok modlu istekler için giriş dosyası gereksinimlerini karşılamalıdır. Buna MIME türü ve dosya boyutu gibi gereksinimler dahildir.

  • Dosya bir Cloud Storage for Firebase paketinde depolanmalıdır (yani Firebase Güvenlik Kuralları gibi Firebase hizmetleri bu pakete erişebilir). Paketinizi Firebase konsolunda görüntüleyebiliyorsanız bu paket bir Firebase için Cloud Storage 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 yöntemi olan gs:// ile başlamalıdır.

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

Ayrıca, paketinize yönelik 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 bir çağrıda dosyanın URL'sini sağlayabilir. Bu tür kurallar yalnızca başlarken ve ilk prototip oluşturma sırasında kullanılmalıdır (dosyalar aslında herkesin erişimine açık dosyalar olacak şekilde tasarlanmamış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ış olan kullanıcının veya istemcinin dosyaya yeterli erişiminin olup olmadığını kontrol eder.

Firebase için Vertex AI ile Firebase için Cloud Storage 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 Firebase için Cloud Storage 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. Firebase için Cloud Storage'ın istemci kitaplığını uygulamanıza ekleyin.

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

2. Adım: Pakete dosya yükleyin

Pakete dosya 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ü: Bu, dosyanın medya türüdür (örneğin, image/png). Cloud Storage for Firebase, yükleme sırasında MIME türünü otomatik olarak algılamaya çalışır ve bu meta verileri paketteki nesneye uygular. Ancak, yükleme sırasında isteğe bağlı olarak MIME türünü belirtebilirsiniz.

  • Firebase için Cloud Storage URL'si: Bu, dosya için benzersiz bir tanımlayıcı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

Cloud Storage for Firebase paketinde depolanan bir dosyanız olduğunda, çok modlu isteğe bu dosyanın MIME türünü ve Cloud Storage for Firebase URL'sini ekleyebilirsiniz. Bu örneklerde canlı olmayan generateContent isteğinin gösterildiğine dikkat edin. Ancak Firebase için Cloud Storage URL'lerini akış ve sohbet ile de kullanabilirsiniz.

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

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

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

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ı hem MIME türünü hem de URL'yi gerektirir.