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

Gdy wywołujesz interfejs Gemini API z aplikacji za pomocą pakietu SDK Vertex AI dla 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 dla Firebase, aby uwzględnić pliki w żądaniu. Na ogólne informacje o tej funkcji:

  • Cloud Storage dla Firebase można stosować do wszystkich żądań multimodalnych (takich jak generowanie tekstu i czat). Przykłady w w tym przewodniku.

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

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

.


W tym przewodniku po rozwiązaniach opisaliśmy, jak skonfigurować Cloud Storage dla Firebase w prześlij plik z aplikacji do zasobnika Cloud Storage dla Firebase w Google Cloud, a następnie uwzględnij typ MIME pliku i adres URL Cloud Storage dla Firebase multimodalne żądanie do interfejsu Gemini API.

Czy chcesz zobaczyć przykłady kodu? Albo już skonfigurowałeś(-aś) Cloud Storage dla Firebase – możesz już zacząć korzystać z niej oraz żądania multimodalne?

Przejdź do przykładów kodu

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

Cloud Storage dla Firebase wykorzystuje te same szybkie, bezpieczne skalowalną infrastrukturę 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 dla 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 Adres URL Cloud Storage dla Firebase, aby uwzględnić ten plik 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 dla Firebase:

  • Użytkownicy mogą przesyłać obrazy bezpośrednio z aplikacji do Cloud Storage dla Firebase, a następnie umieścić te obrazy w multimodalne – wystarczy, że określisz typ MIME pliku Adres URL Cloud Storage dla Firebase (który jest identyfikatorem 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, usługa Cloud Storage dla 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 dla Firebase za pomocą reguł zabezpieczeń Firebase, które umożliwiają przesyłanie, pobieranie i usuwanie plików tylko uprawnionym użytkownikom.

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

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 Cloud Storage dla Firebase z pakietami SDK Vertex AI dla 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 dla Firebase. Obejmuje to wymagania takich jak typ MIME i rozmiar pliku.

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

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

  • Adres URL pliku w Cloud Storage dla Firebase musi zaczynać się od gs://, który jest tworzy się wszystkie adresy URL w Google Cloud Storage.

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

Dodatkowo reguły zabezpieczeń Firebase Twojego zasobnika muszą zezwalać 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 dla 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żywanie adresów URL z Cloud Storage dla Firebase z Vertex AI dla Firebase

Krok 1. Skonfiguruj Cloud Storage dla Firebase

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

  1. utworzyć zasobnik Cloud Storage dla Firebase w projekcie Firebase,

  2. Zastosuj do tego zasobnika reguły zabezpieczeń Firebase. Reguły zabezpieczeń Firebase pomagają aby chronić pliki, ograniczając dostęp autoryzowanym użytkownikom.

  3. Dodaj do swojej aplikacji bibliotekę klienta dla Cloud Storage dla 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 dla Firebase.

Krok 2. Prześlij plik do zasobnika

Gdy przesyłasz plik do zasobnika, Cloud Storage automatycznie stosuje 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 dla Firebase automatycznie spróbuje 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 Cloud Storage dla Firebase: jest to 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 dla Firebase możesz: uwzględnić jego typ MIME i adres URL Cloud Storage dla Firebase w żądaniu multimodalnym. Zwróć uwagę, że te przykłady pokazują niestrumieniowe żądanie generateContent, ale może też używać adresów URL Cloud Storage dla Firebase do strumieniowania i czatu.

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 Cloud Storage dla Firebase.

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

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