Firebase Genkit z Cloud Run

Przepływy Firebase Genkit możesz wdrożyć jako usługi internetowe za pomocą Cloud Run. Ta strona, przeprowadzi Cię przez proces wdrażania domyślnej próbki przepływu danych.

  1. Zainstaluj interfejs wiersza poleceń Google Cloud, jeśli z którego już nie korzystasz.

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

    Gdy utworzysz lub wybierzesz projekt, skonfiguruj Google Cloud CLI do :

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

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

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

  4. Zainicjuj moduł Go w katalogu projektu:

    go mod init example/cloudrun
    
  5. Zainicjuj Genkit w swoim projekcie:

    genkit init
    

    Wybierz dostawcę modelu, którego chcesz użyć.

    W pozostałych promptach zaakceptuj wartości domyślne. Narzędzie genkit utworzy przykładowego pliku źródłowego, który ułatwi Ci rozpoczęcie tworzenia własnych przepływów AI. Jednak w pozostałej części tego samouczka wdrożysz tylko przykładowy przepływ.

  6. Zmodyfikuj przykładowy plik (main.go lub genkit.go), aby jednoznacznie określić port, na którym ma nasłuchiwać serwer przepływu:

    if err := genkit.Init(ctx,
        &genkit.Options{FlowAddr: ":3400"}, // Add this parameter.
    ); err != nil {
        log.Fatal(err)
    }
    
  7. Udostępnij dane logowania do interfejsu API wdrożonej funkcji. Wykonaj jedną z tych czynności: w zależności od wybranego dostawcy modelu:

    Gemini (AI od Google)

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

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

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

      1. W konsoli Cloud włącz Interfejs Secret Manager API.
      2. Dzień Usługa Secret Manager utwórz nowy obiekt tajny zawierający klucz interfejsu API.
      3. Po utworzeniu obiektu tajnego na tej samej stronie przyznaj domyślne dostępu konta usługi Compute do obiektu tajnego za pomocą Rola Uzyskujący dostęp do obiektów tajnych w usłudze Secret Manager. (Możesz wyszukać nazwę domyślnego konta usługi Compute na stronie Uprawnienia).

      W jednym z późniejszych kroków podczas wdrażania usługi konieczne będzie odwołują się do nazwy tego obiektu tajnego.

    Gemini (Vertex AI)

    1. W konsoli Google Cloud Włączanie interfejsu Vertex AI API do swojego projektu.

    2. W Uprawnieniach sprawdź, czy przyznano domyślne konto usługi Compute. rolę Użytkownik Vertex AI.

    Jedynym obiektem tajnym, który musisz skonfigurować na potrzeby tego samouczka, jest model ale z reguły należy zrobić coś podobnego w przypadku każdej usługi używane przez przepływ.

  8. Opcjonalnie: spróbuj wykonać opisane niżej czynności w interfejsie dewelopera:

    1. Skonfiguruj środowisko lokalne dla wybranego dostawcy modelu:

      Gemini (AI od Google)

      export GOOGLE_GENAI_API_KEY=<your API key>
      

      Gemini (Vertex AI)

      export GCLOUD_PROJECT=<your project ID>
      export GCLOUD_LOCATION=us-central1
      gcloud auth application-default login
      
    2. Uruchom interfejs:

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

      1. Kliknij menusuggestionFlow.

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

        "banana"
        
      3. Kliknij Wykonaj.

  9. Jeśli na razie wszystko działa zgodnie z oczekiwaniami, możesz skompilować i wdrożyć przepływ:

    Gemini (AI od Google)

    gcloud run deploy --port 3400 \
      --update-secrets=GOOGLE_GENAI_API_KEY=<your-secret-name>:latest
    

    Gemini (Vertex AI)

    gcloud run deploy --port 3400 \
      --set-env-vars GCLOUD_PROJECT=<your-gcloud-project> \
      --set-env-vars GCLOUD_LOCATION=us-central1
    

    GCLOUD_LOCATION konfiguruje region interfejsu Vertex API, którego chcesz używać.

    Gdy pojawi się pytanie o zezwolenie na nieuwierzytelnione wywołania, wybierz N. Odpowiedź N spowoduje, że usługa będzie wymagać danych logowania uprawnień. Zobacz Uwierzytelnianie w dokumentacji Cloud Run.

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

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