Uwzględniaj duże pliki w żądaniach multimodalnych i zarządzaj plikami za pomocą Cloud Storage dla Firebase

Gdy wywołujesz Gemini API z aplikacji za pomocą SDK Vertex AI in Firebase, możesz poprosić model Gemini o wygenerowanie tekstu na podstawie danych wejściowych multimodalnych. Prompty multimodalne mogą zawierać wiele modalności (lub typy danych wejściowych), np. tekst wraz z obrazami, plikami PDF, filmami lub dźwiękami.

W przypadku innych niż tekstowe części danych (takich jak pliki multimedialne) możesz opcjonalnie użyć Cloud Storage for Firebase, aby uwzględnić pliki w żądaniu. Na ogólne informacje o tej funkcji:

  • Cloud Storage for Firebase możesz używać z dowolnym żądaniem multimodalnym (jak w obu generowanie tekstu i czat). Przykłady w w tym przewodniku.

  • Określasz typ MIME pliku i jego adres URL Cloud Storage for Firebase (który zawsze zaczyna się od gs://) w danych wejściowych żądania. Wartości te są metadanych, które są automatycznie przypisywane do każdego pliku przesłanego do Cloud Storage zasobnika.

  • Musisz użyć obsługiwanego typu pliku i adresu URL.

.


Z tego przewodnika dowiesz się, jak skonfigurować Cloud Storage for Firebase w Google Cloud, prześlij plik z aplikacji do zasobnika Cloud Storage for Firebase, a następnie uwzględnij typ MIME i adres URL pliku Cloud Storage for Firebase w parametrze żądanie multimodalne kierowane do Gemini API.

Czy chcesz zobaczyć przykłady kodu? Albo już skonfigurowałeś(-aś) Cloud Storage for Firebase i możesz już używać jej razem ze swoim oraz żądania multimodalne?

Przejdź do przykładów kodu

Dlaczego warto używać Cloud Storage for Firebase w swojej aplikacji?

Cloud Storage for Firebase używa tych samych szybkich, bezpiecznych skalowalną infrastrukturę taką jak Google Cloud Storage do przechowywania obiektów blob i plików, a jej pakiety SDK dla klientów są zaprojektowane specjalnie dla aplikacji mobilnych i internetowych.

Maksymalny rozmiar żądania w przypadku pakietów SDK (Vertex AI in Firebase) to 20 MB. Jeśli żądanie jest zbyt duże, pojawia się błąd HTTP 413. Jeśli rozmiar pliku ustaw łączny rozmiar żądania powyżej 20 MB, a następnie użyj Cloud Storage for Firebase Adres URL, który ma zostać uwzględniony w żądaniu multimodalnym. Jeśli jednak plik jest mały, często można go przekazać bezpośrednio jako dane wbudowane (pamiętaj jednak, że plik udostępniony jako dane wbudowane jest zakodowany w formacie base64 do przesyłania danych, co zwiększa rozmiar żądania).

Oto kilka dodatkowych korzyści z używania Cloud Storage for Firebase:

  • Użytkownicy mogą przesyłać obrazy bezpośrednio z aplikacji do Cloud Storage for Firebase. Możesz umieścić te obrazy w zasobniku multimodalne – wystarczy, że określisz typ MIME pliku Cloud Storage for Firebase adres URL (czyli identyfikator pliku).

  • Pozwala to zaoszczędzić czas i przepustowość łącza, gdy użytkownicy muszą przesłać obrazy, zwłaszcza gdy jakość połączenia jest niska lub niestabilna.

    • Jeśli przesyłanie lub pobieranie pliku zostanie przerwane, Cloud Storage for Firebase Pakiety SDK automatycznie rozpoczynają działanie od miejsca, w którym zostały przerwane.
    • Ten sam przesłany plik można wykorzystać wiele razy bez użytkownika przesyłanie tego samego pliku za każdym razem, gdy jest to potrzebne w aplikacji (np. nowe żądanie multimodalne).
  • Możesz ograniczyć dostęp użytkowników do plików przechowywanych w Cloud Storage for Firebase za pomocą Firebase Security Rules, które umożliwiają przesyłanie, pobieranie i usuwanie plików tylko uprawnionym użytkownikom.

  • Dostęp do plików w swoim zasobniku możesz uzyskać z poziomu Firebase lub na stronie Google Cloud, co daje możliwość przetwarzania obrazów po stronie serwera, lub transkodowanie filmów za pomocą interfejsów API Google Cloud Storage.

Jakie typy plików i adresów URL są obsługiwane?

Oto wymagania dotyczące plików i adresów URL, które mają być używane Adresy URL z pakietem SDK Vertex AI in Firebase (Cloud Storage for Firebase):

  • Plik musi spełniać wymagania dotyczące plików wejściowych w przypadku żądań multimodalnych w przypadku korzystania z pakietów SDK Vertex AI in Firebase. Obejmuje to wymagania takich jak typ MIME i rozmiar pliku.

  • Plik musi być zapisany w zasobniku Cloud Storage for Firebase (co oznacza, że zasobnik jest dostępny dla usług Firebase, takich jak Firebase Security Rules). Jeśli możesz wyświetlić swój zasobnik w Konsola Firebase, jest to zasobnik Cloud Storage for Firebase.

  • Zasobnik Cloud Storage for Firebase musi być w tym samym projekcie Firebase w: podczas rejestracji aplikacji.

  • Adres URL pliku w formacie Cloud Storage for Firebase musi zaczynać się od prefiksu gs://, który jest w którym konstruowane są wszystkie adresy URL Google Cloud Storage.

  • Adres URL pliku nie może być „przeglądarką” Adres URL (np. adres URL obrazu) dostępne w internecie).

Dodatkowo Firebase Security Rules Twojego zasobnika musi zezwalać na odpowiedni dostęp do pliku. Przykład:

  • Jeśli masz reguły publiczne, to dowolny użytkownik lub klient może uzyskać dostęp do pliku i podać jego adres URL w wywołaniu za pomocą pakietu SDK Vertex AI in Firebase. Tych reguł należy używać tylko do: i tworzenia prototypu (chyba że pliki są rzeczywiście przeznaczone aby stały się całkowicie dostępne publicznie).

  • Jeśli masz niezawodne reguły (zdecydowanie zalecane), Firebase sprawdzi, czy zalogowany użytkownik klient ma wystarczający dostęp do pliku, zanim zezwoli na wykonanie połączenia za pomocą podanego adresu URL.

Używaj adresów URL typu Cloud Storage for Firebase z parametrem Vertex AI in Firebase

Krok 1. Skonfiguruj usługę Cloud Storage for Firebase

Oto ogólne zadania, które musisz wykonać:

  1. Utwórz zasobnik Cloud Storage for Firebase w projekcie Firebase.

  2. Zastosuj do tego zasobnika metodę Firebase Security Rules. Firebase Security Rules pomaga Ci aby chronić pliki, ograniczając dostęp autoryzowanym użytkownikom.

  3. Dodaj do swojej aplikacji bibliotekę klienta Cloud Storage for Firebase.

    Możesz pominąć to zadanie, ale wtedy musisz zawsze W żądaniach multimodalnych wyraźnie uwzględnij typ MIME i wartości adresu URL Cloud Storage for Firebase.

Krok 2. Prześlij plik do zasobnika

Gdy przesyłasz plik do zasobnika, zasada Cloud Storage jest automatycznie stosowana następujące 2 rodzaje informacji. Musisz dodać te wartości w żądaniu multimodalnym (jak pokazano w następnym kroku tego ).

  • Typ MIME: typ multimediów pliku (np. image/png). Cloud Storage for Firebase spróbuje automatycznie wykryć typ MIME i zastosuj te metadane do obiektu w zasobniku. Pamiętaj jednak: możesz opcjonalnie określić typ MIME podczas przesyłania.

  • Adres URL usługi Cloud Storage for Firebase: unikalny identyfikator pliku. Adres URL musi zaczynać się od gs://.

Krok 3. Uwzględnij typ MIME i adres URL pliku w żądaniu multimodalnym

Po zapisaniu pliku w zasobniku Cloud Storage for Firebase możesz umieszcza w żądaniu multimodalnym jego typ MIME i adres URL Cloud Storage for Firebase. Zwróć uwagę, że te przykłady pokazują niestrumieniowe żądanie generateContent, ale mogą też używać adresów URL Cloud Storage for Firebase w transmisjach strumieniowych i na czacie.

Aby dołączyć plik do prośby, możesz użyć jednej z tych opcji:

Opcja 1. Uwzględnij typ MIME i adres URL, korzystając z odniesienia do Storage

Użyj tej opcji, jeśli plik został właśnie przesłany do zasobnika i chcesz natychmiast umieścić plik (za pomocą odniesienia do Cloud Storage) w narzędziu multimodalnym. użytkownika. Wywołanie wymaga podania zarówno typu MIME, jak i tagu Adres URL usługi Cloud Storage for Firebase.

Opcja 2. Wyraźnie podaj typ MIME i adres URL

Użyj tej opcji, jeśli znasz wartości typu MIME Cloud Storage for Firebase i chcesz je uwzględnić bezpośrednio w żądanie multimodalne. Wywołanie wymaga podania zarówno typu MIME, jak i adresu URL.