Wdrażanie przepływów na dowolnej platformie hostingu aplikacji

Przepływy Firebase Genkit możesz wdrożyć jako usługi internetowe za pomocą dowolnej usługi, która hostuj plik binarny w języku Go. Na tej stronie omówiono na przykład ogólny proces wdrażania domyślny przepływ próbek i wskazuje, gdzie należy wykonać .

  1. 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.

  2. Zainicjuj moduł Go w katalogu projektu:

    go mod init example/cloudrun
    
  3. 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 pomoże Ci rozpocząć tworzenie własnych przepływów AI. Jednak w pozostałej części tego samouczka wdrożysz tylko przykładowy przepływ.

  4. 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)
    }
    

    Jeśli Twój dostawca wymaga nasłuchiwania na określonym porcie, pamiętaj, aby wykonać odpowiednio skonfigurować Genkit.

  5. Zaimplementuj jakąś formę uwierzytelniania i autoryzacji, aby zablokować dostęp przepływów, które planujesz wdrożyć.

    Większość usług generatywnej AI ma pomiar, więc najprawdopodobniej nie warto , aby umożliwić otwarty dostęp do wszystkich punktów końcowych, które je wywołują. Niektóre usługi hostingowe udostępniają warstwę uwierzytelniania jako frontend wdrożonych w nich aplikacji, które można wykorzystać do tego celu.

  6. 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 we wdrożonym środowisku.

      Większość hostów aplikacji udostępnia system do bezpiecznej obsługi obiektów tajnych, takich jak . Obiekty tajne są często dostępne dla aplikacji w sekcji zmiennych środowiskowych. Jeśli możesz przypisać swój klucz interfejsu API do GOOGLE_GENAI_API_KEY, Genkit użyje jej automatycznie. W przeciwnym razie musisz bezpośrednio zmienić wywołanie googleai.Init() na ustaw klucz. (Nie umieszczaj klucza bezpośrednio w kodzie. Użyj obiektu tajnego z usług zarządzania oferowanych przez dostawcę usług hostingowych).

    Gemini (Vertex AI)

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

    2. W Uprawnieniach utwórz konto usługi umożliwiające dostęp do interfejsu Vertex AI API, jeśli nie mają jeszcze takiego.

      Przypisz do konta rolę Użytkownik Vertex AI.

    3. Skonfiguruj domyślne dane logowania aplikacji w środowisku hostingowym.

    4. Skonfiguruj wtyczkę, używając identyfikatora projektu Google Cloud i Vertex Lokalizacja interfejsu AI API, której chcesz używać. Możesz to zrobić, ustawiając Zmienne środowiskowe GCLOUD_PROJECT i GCLOUD_LOCATION w lub w wywołaniu vertexai.Init().

    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.

  7. 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.

  8. Jeśli na razie wszystko działa zgodnie z oczekiwaniami, możesz skompilować i wdrożyć za pomocą narzędzi dostawcy.