Firebase Genkit z Cloud Run

Przepływy Firebase Genkit możesz wdrażać jako usługi internetowe za pomocą Cloud Run. Ta strona przeprowadzi Cię przez proces wdrażania domyślnego przepływu próbkowego.

  1. Zainstaluj wymagane narzędzia:

    1. Upewnij się, że używasz środowiska Node.js w wersji 20 lub nowszej (aby to sprawdzić, uruchom polecenie node --version).

    2. Zainstaluj Google Cloud CLI.

  2. Utwórz nowy projekt Google Cloud za pomocą konsoli Google Cloud lub wybierz istniejący. Projekt musi być połączony z kontem rozliczeniowym.

    Po utworzeniu lub wybraniu projektu skonfiguruj Google Cloud CLI do jego użycia:

    gcloud init
    
  3. Utwórz katalog dla przykładowego projektu Genkit:

    mkdir -p ~/tmp/genkit-cloud-project
    cd ~/tmp/genkit-cloud-project
    

    Jeśli będziesz używać IDE, otwórz je w tym katalogu.

  4. Zainicjuj projekt Node.js w katalogu projektów:

    npm init -y
    
  5. Zainicjuj Genkit w projekcie Node.js:

    genkit init
    
    • Jako platformę wdrożenia wybierz Google Cloud.
    • Wybierz dostawcę modelu, którego chcesz użyć.

    Zaakceptuj ustawienia domyślne w pozostałych promptach. Narzędzie genkit utworzy przykładowe pliki źródłowe, aby ułatwić Ci tworzenie własnych przepływów AI. Jednak przez pozostałą część tego samouczka wdrożysz tylko przykładowy przepływ.

  6. Udostępnij dane logowania do interfejsu API dla wdrożonej funkcji. W zależności od wybranego dostawcy modelu wykonaj jedną z tych czynności:

    Gemini (AI od Google)

    1. Upewnij się, że AI od Google jest dostępna w Twoim regionie.

    2. Wygeneruj klucz interfejsu API dla interfejsu API Gemini za pomocą Google AI Studio.

    3. Udostępnij klucz interfejsu API w środowisku Cloud Run:

      1. W konsoli Cloud włącz Secret Manager API.
      2. Na stronie Secret Manager utwórz nowy obiekt tajny zawierający klucz interfejsu API.
      3. Po utworzeniu obiektu tajnego na tej samej stronie przyznaj domyślnemu kontu usługi obliczeniowej dostęp do niego za pomocą roli Uzyskujący dostęp do obiektów tajnych w usłudze Secret Manager. Nazwę domyślnego konta usługi Compute możesz wyszukać na stronie uprawnień.

      W późniejszym kroku, podczas wdrażania usługi, musisz odwołać się do nazwy tego obiektu tajnego.

    4. Opcjonalnie: jeśli chcesz uruchamiać przepływ lokalnie, tak jak w następnym kroku, ustaw zmienną środowiskową GOOGLE_GENAI_API_KEY na swój klucz:

      export GOOGLE_GENAI_API_KEY=<your API key>
      

    Gemini (Vertex AI)

    1. W konsoli Cloud włącz interfejs Vertex AI API w swoim projekcie.

    2. Na stronie Uprawnienia sprawdź, czy domyślnemu kontu usługi Compute ma przypisaną rolę Użytkownik Vertex AI.

    3. Opcjonalnie: jeśli chcesz uruchamiać przepływ lokalnie, tak jak w następnym kroku, ustaw dodatkowe zmienne środowiskowe i za pomocą narzędzia gcloud skonfiguruj domyślne dane logowania aplikacji:

      export GCLOUD_PROJECT=<your project ID>
      export GCLOUD_LOCATION=us-central1
      gcloud auth application-default login
      

    Jedyny obiekt tajny, który należy skonfigurować w tym samouczku, dotyczy dostawcy modelu, ale ogólnie rzecz biorąc, musisz zrobić coś podobnego dla każdej usługi, której używa Twój przepływ.

  7. Opcjonalnie – wypróbuj to rozwiązanie w interfejsie dewelopera:

    1. Uruchom interfejs:

      genkit start
      
    2. W interfejsie programisty (http://localhost:4000/) uruchom ten proces:

      1. Kliknij menusuggestionFlow.

      2. Na karcie Dane wejściowe JSON podaj temat modelu:

        "banana"
        
      3. Kliknij Uruchom.

  8. Jeśli do tej pory wszystko działa zgodnie z oczekiwaniami, możesz skompilować i wdrożyć przepływ:

    Gemini (AI od Google)

    npm run build
    gcloud run deploy --update-secrets=GOOGLE_GENAI_API_KEY=<your-secret-name>:latest
    

    Gemini (Vertex AI)

    npm run build
    gcloud run deploy
    

    Gdy pojawi się pytanie, czy chcesz zezwolić na nieuwierzytelnione wywołania, wybierz N. Odpowiedź N spowoduje skonfigurowanie usługi tak, aby wymagała danych uwierzytelniających uprawnień. Informacje o udostępnianiu tych danych logowania znajdziesz w sekcji Uwierzytelnianie w dokumentacji Cloud Run.

Po zakończeniu wdrażania narzędzie wyświetli adres URL usługi. Możesz go przetestować za pomocą curl:

curl -X POST https://<service-url>/menuSuggestionFlow \
-H "Authorization: Bearer $(gcloud auth print-identity-token)" \
-H "Content-Type: application/json" -d '{"data": "banana"}'