Tworzenie rozmów wieloetapowych (czat) za pomocą interfejsu Gemini API


Interfejs Gemini API umożliwia swobodne rozmowy w wielu etapach. Pakiet SDK Vertex AI dla Firebase upraszcza ten proces, zarządzając stanem rozmowy, więc w przeciwieństwie do rozwiązań generateContentStream() i generateContent() nie musisz samodzielnie przechowywać historii rozmowy.

Zanim zaczniesz

Zapoznaj się z przewodnikiem dla początkujących użytkowników pakietów SDK Vertex AI dla Firebase. Upewnij się, że wykonane zostały wszystkie te czynności:

  • Skonfiguruj nowy lub istniejący projekt Firebase, używając abonamentu Blaze i włączając wymagane interfejsy API.

  • Połącz aplikację z Firebase, rejestrując ją i dodając do niej konfigurację Firebase.

  • Dodaj pakiet SDK i zainicjuj w aplikacji usługę Vertex AI oraz model generatywny.

Po połączeniu aplikacji z Firebase, dodaniu pakietu SDK i zainicjowaniu usługi Vertex AI oraz modelu generatywnego możesz wywoływać interfejs Gemini API.

Wyślij prośbę o przesłanie prośby o rozmowę na czacie

Aby utworzyć rozmowę wieloetapową (taką jak czat), zacznij od zainicjowania czatu, wywołując startChat(). Następnie za pomocą polecenia sendMessageStream() (lub sendMessage()) wyślij nową wiadomość do użytkownika. Zostanie ona też dołączona do tej wiadomości wraz z odpowiedzią w historii czatu.

Atrybut role może być powiązany z treścią rozmowy na 2 sposoby:

  • user: rola, która udostępnia prompty. Jest to wartość domyślna w wywołaniach funkcji sendMessageStream() (lub sendMessage()), a w przypadku przekazania innej roli funkcja zgłasza wyjątek.

  • model: rola, która udziela odpowiedzi. Tej roli można używać przy wywoływaniu funkcji startChat() za pomocą istniejącej funkcji history.

Zdecyduj, czy chcesz przesyłać odpowiedź strumieniowo (sendMessageStream), czy zaczekać na wygenerowanie odpowiedzi, aż zostanie wygenerowany cały wynik (sendMessage).

Strumieniowanie

Możesz przyspieszyć interakcje, nie czekając na cały wynik generowany przez generowanie modelu, a zamiast tego używać strumieniowania do obsługi częściowych wyników.

Ten przykład pokazuje, jak za pomocą funkcji sendMessageStream() przesyłać strumieniowo odpowiedzi z modelu:

Bez strumieniowania

Możesz też poczekać na cały wynik, zamiast przesyłać je strumieniowo. Wynik jest zwracany dopiero po zakończeniu całego procesu generowania przez model.

Ten przykład pokazuje, jak za pomocą sendMessage() wysłać nową wiadomość do użytkownika:

Dowiedz się, jak wybrać model GKE i opcjonalnie lokalizację odpowiednią do Twojego zastosowania i aplikacji.

Co jeszcze można zrobić?

  • Dowiedz się, jak liczyć tokeny przed wysłaniem długich promptów do modelu.
  • Skonfiguruj Cloud Storage dla Firebase, aby za pomocą adresów URL Cloud Storage uwzględniać duże pliki w żądaniach multimodalnych. Pliki mogą zawierać obrazy, pliki PDF, filmy i pliki dźwiękowe.
  • Zacznij zastanawiać się nad przygotowaniem do wdrożenia wersji produkcyjnej, w tym skonfigurowaniu Sprawdzania aplikacji Firebase, aby chronić interfejs Gemini API przed nadużyciami ze strony nieautoryzowanych klientów.

Wypróbuj inne możliwości interfejsu Gemini API

Dowiedz się, jak kontrolować generowanie treści

Możesz też eksperymentować z promptami i konfiguracjami modeli za pomocą Vertex AI Studio.

Więcej informacji o modelach Gemini

Dowiedz się więcej o modelach dostępnych w różnych przypadkach użycia i ich limitach i cenach.


Prześlij opinię o Vertex AI dla Firebase