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

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

Girişteki metin olmayan bölümler (medya dosyaları gibi) için isteğe dosya eklemek üzere isteğe bağlı olarak Cloud Storage for Firebase kullanabilirsiniz. Bu özellik hakkında bilmeniz gerekenleri özetlemek gerekirse:

  • Cloud Storage for Firebase'ü her türlü çok modlu istekle (ör. metin oluşturma ve sohbet) kullanabilirsiniz. Bu kılavuzun örneklerinde temel bir metin ve resim girişi gösterilmektedir.

  • İstekte, dosyanın MIME türünü ve Cloud Storage for Firebase URL'sini (her zaman gs:// ile başlar) belirtirsiniz. Bu değerler, Cloud Storage paketine yüklenen tüm dosyalara otomatik olarak atanan meta verilerdir.

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


Bu çözüm kılavuzunda, Cloud Storage for Firebase'yi nasıl ayarlayacağınız, uygulamanızdan bir Cloud Storage for Firebase paketine dosya yükleyeceğiniz ve ardından dosyanın MIME türünü ve Cloud Storage for Firebase URL'sini Gemini API'a göndereceğiniz çoklu modlu isteğinize nasıl ekleyeceğiniz açıklanmaktadır.

Kod örneklerini görmek ister misiniz? Cloud Storage for Firebase'ü zaten ayarladıysanız ve çok modlu isteklerinizle kullanmaya hazır mısınız?

Kod örneklerine atlama

Uygulamanızla neden Cloud Storage for Firebase 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. Ayrıca istemci SDK'ları, mobil ve web uygulamaları için özel olarak tasarlanmıştır.

Vertex AI in Firebase SDK'ları için 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 boyutunu 20 MB'ı aşacaksa dosyayı çok modlu isteğinize dahil etmek için Cloud Storage for Firebase URL'si kullanın. Ancak dosya küçükse genellikle doğrudan satır içi veri olarak iletebilirsiniz (satır içi veri olarak sağlanan bir dosyanın aktarma sırasında base64 olarak kodlandığını ve bu nedenle isteğin boyutunun arttığını unutmayın).

Cloud Storage for Firebase kullanmanın bazı ek avantajları:

  • Son kullanıcıların resimleri doğrudan uygulamanızdan bir Cloud Storage for Firebase paketine yüklemesini sağlayabilir ve ardından bu resimleri, dosyanın MIME türünü ve Cloud Storage for Firebase URL'sini (dosyanın tanımlayıcısıdır) belirterek çoklu modal istemlerinize dahil edebilirsiniz.

  • Özellikle ağ kalitesi düşük veya kararsız olan son kullanıcılarınıza resim sağlamaları gerekiyorsa onlara zaman ve bant genişliği kazandırabilirsiniz.

    • Dosya yükleme veya indirme işlemi kesintiye uğrarsa Cloud Storage for Firebase SDK'lar işlemi tam bıraktığı yerden otomatik olarak yeniden başlatır.
    • Yüklenen aynı dosya, son kullanıcının uygulamanızda her ihtiyaç duyduğunda (ör. yeni bir çok modlu istekte) aynı dosyayı yüklemesi gerekmeden birden çok kez kullanılabilir.
  • Yalnızca yetkili kullanıcıların dosya yüklemesine, indirmesine veya silmesine izin veren Firebase Security Rules özelliğini kullanarak son kullanıcıların Cloud Storage for Firebase'te depolanan dosyalara erişimini kısıtlayabilirsiniz.

  • Paketinizdeki dosyalara Firebase'den veya Google Cloud'ten erişebilirsiniz. Bu sayede, Google Cloud Storage API'lerini kullanarak resim filtreleme veya video kod 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 Vertex AI in Firebase SDK'larıyla kullanmak istediğinizde dosya ve URL'lerle ilgili gereksinimler şunlardır:

  • Dosya, Vertex AI in Firebase SDK'ları kullanılırken çoklu modlu istekler için giriş dosyalarının şartlarını karşılamalıdır. Buna MIME türü ve dosya boyutu gibi şartlar dahildir.

  • Dosya, Cloud Storage for Firebase paketinde depolanmalıdır (yani pakete Firebase Security Rules gibi Firebase hizmetlerinin erişebilmesi gerekir). Paketinizi Firebase konsolunda görüntüleyebiliyorsanız 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 gs:// ile başlamalıdır. Tüm Google Cloud Storage URL'leri bu şekilde oluşturulur.

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

Ayrıca, paketiniz için Firebase Security Rules, dosyaya uygun erişime izin vermelidir. Örneğin:

  • Herkese açık kurallarınız varsa herhangi bir kullanıcı veya istemci dosyaya erişebilir ve Vertex AI in Firebase SDK'sını kullanarak bir çağrıda dosyanın URL'sini sağlayabilir. Bu tür kurallar yalnızca başlangıçta ve erken prototip aşamasında kullanılmalıdır (dosyalar gerçekten herkese açık olarak erişilebilir dosyalar olmamalıdır).

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

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

1. adım: Cloud Storage for Firebase'yi ayarlayın

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

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

  2. Firebase Security Rules dosyasını bu pakete uygulayın. Firebase Security Rules, yetkilendirilmiş son kullanıcılara erişimi 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 atlayabilirsiniz ancak bu durumda her zaman MIME türünü ve Cloud Storage for Firebase URL değerlerini çoklu modal isteklerinize açıkça eklemeniz gerekir.

2. adım: Bir klasöre dosya yükleyin

Bir dosyayı bir pakete yüklediğinizde Cloud Storage, dosyaya aşağıdaki iki bilgiyi otomatik olarak uygular. Bu değerleri çok modlu isteğe eklemeniz gerekir (bu kılavuzun 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 MIME türünü otomatik olarak 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: 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

Cloud Storage for Firebase gruplarında depolanan dosyaların MIME türlerini ve Cloud Storage for Firebase URL'lerini çok modlu bir isteğe dahil edebilirsiniz. Bu örneklerde yayın yapmayan bir generateContent isteği gösterildiğini, ancak Cloud Storage for Firebase URL'lerini yayın ve sohbet için de kullanabileceğinizi unutmayın.

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

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

Dosyayı pakete yeni yüklediyseniz ve dosyayı hemen (Depolama alanı referansı aracılığıyla) çok modlu isteğe dahil etmek istiyorsanız bu seçeneği kullanın. Arama için hem MIME türü hem de Cloud Storage for Firebase 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 biliyor ve bunları çok modlu isteğe açıkça dahil etmek istiyorsanız bu seçeneği kullanın. Çağrıda hem MIME türü hem de URL gerekir.