Wdrażanie przepływów na dowolnej platformie Node.js

Firebase Genkit ma wbudowane integracje, które ułatwiają wdrażanie przepływów w Firebase Cloud Functions i Google Cloud Run, ale można też wdrażać przepływy na dowolnej platformie, która może obsługiwać aplikację Express.js, niezależnie od tego, czy jest to usługa w chmurze czy hostowana samodzielnie.

Na tej stronie opisujemy proces wdrażania domyślnego przepływu próbki.

  1. Zainstaluj wymagane narzędzia:

    • Upewnij się, że używasz węzła w wersji 20 lub nowszej (aby to sprawdzić, uruchom polecenie node --version).
  2. Utwórz katalog dla przykładowego projektu Genkit:

    export GENKIT_PROJECT_HOME=~/tmp/genkit-express-project
    mkdir -p $GENKIT_PROJECT_HOME
    cd $GENKIT_PROJECT_HOME
    

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

  3. Zainicjuj projekt nodejs:

    npm init -y
    
  4. Zainicjuj projekt Genkit:

    genkit init
    
    1. Wybierz Node.js jako opcję platformy wdrożenia (dostępne są też szablony dla Firebase Cloud Functions i Google Cloud Run).

    2. Wybierz model:

      Gemini (AI od Google)

      Najprostszym sposobem, aby zacząć, jest korzystanie z interfejsu Google AI Gemini API. Upewnij się, że usługa jest dostępna w Twoim regionie.

      Wygeneruj klucz API dla Gemini API za pomocą Google AI Studio. Następnie ustaw zmienną środowiskową GOOGLE_API_KEY na swój klucz:

      export GOOGLE_API_KEY=<your API key>
      

      Gemini (Vertex AI)

      Jeśli interfejs Google AI Gemini API nie jest dostępny w Twoim regionie, rozważ użycie interfejsu Vertex AI API, który oferuje również Gemini i inne modele. Musisz mieć projekt Google Cloud z włączonymi płatnościami, włączyć interfejs AI Platform API i ustawić kilka dodatkowych zmiennych środowiskowych:

      gcloud services enable aiplatform.googleapis.com
      export GCLOUD_PROJECT=<your project ID>
      export GCLOUD_LOCATION=us-central1
      

      Cennik Vertex AI znajdziesz na stronie https://cloud.google.com/vertex-ai/generative-ai/pricing.

    3. Wybierz domyślne odpowiedzi na pozostałe pytania, co zainicjuje folder projektu przy użyciu przykładowego kodu.

  5. Skompiluj i uruchom przykładowy kod:

    npm run build
    genkit flow:run menuSuggestionFlow "\"banana\"" -s
    
  6. Opcjonalnie: uruchom interfejs programisty:

    genkit start
    

    Następnie wejdź na http://localhost:4000/flows i uruchom ten proces za pomocą interfejsu programisty.

    Gdy skończysz, naciśnij Ctrl+C w konsoli, aby zamknąć interfejs.

  7. Wypróbuj punkt końcowy usługi Express:

    npm run start
    

    Następnie w innym oknie:

    curl -X POST "http://127.0.0.1:3400/menuSuggestionFlow?stream=true" -H "Content-Type: application/json"  -d '{"data": "banana"}'
    
  8. Jeśli wszystko działa zgodnie z oczekiwaniami, możesz wdrożyć przepływ u wybranego dostawcy. Szczegóły zależą od dostawcy, ale zwykle trzeba skonfigurować te ustawienia:

    Ustawienie Wartość
    Środowisko wykonawcze Node.js w wersji 20 lub nowszej
    Polecenie kompilacji npm run build
    Polecenie rozpoczęcia npm run start
    Zmienne środowiskowe GOOGLE_API_KEY=<your-api-key> (lub wymagane obiekty tajne)