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

Przepływy Firebase Genkit można wdrożyć jako usługi internetowe przy użyciu dowolnej usługi, która może hostować plik binarny Go. Ta strona przedstawia ogólny proces wdrażania domyślnego przykładowego przepływu i wskazuje, gdzie należy wykonać działania specyficzne dla dostawcy.

  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ładowy plik źródłowy, aby umożliwić 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.

  4. Zmień przykładowy plik (main.go lub genkit.go), aby wyraźnie 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 odpowiednio skonfigurować Genkit.

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

    Większość usług generatywnej AI ma pomiar, więc najprawdopodobniej nie chcesz zezwalać na otwarty dostęp do żadnych 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órego możesz w tym celu używać.

  6. Udostępnij dane logowania do interfejsu API 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 API dla 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 klucze interfejsu API. Obiekty tajne są często dostępne dla aplikacji w postaci zmiennych środowiskowych. Jeśli możesz przypisać swój klucz interfejsu API do zmiennej GOOGLE_GENAI_API_KEY, Genkit użyje go automatycznie. W przeciwnym razie musisz zmodyfikować wywołanie googleai.Init(), aby jawnie ustawić klucz. (Nie umieszczaj klucza bezpośrednio w kodzie. korzystając z narzędzi do zarządzania obiektami tajnymi udostępnianych przez dostawcę usług hostingowych).

    Gemini (Vertex AI)

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

    2. Na stronie Uprawnienia utwórz konto usługi umożliwiające dostęp do interfejsu Vertex AI API, jeśli jeszcze go nie masz.

      Przypisz do konta rolę Użytkownik Vertex AI.

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

    4. Skonfiguruj wtyczkę, podając identyfikator projektu Google Cloud i lokalizację interfejsu Vertex AI API, których chcesz używać. Możesz to zrobić, ustawiając zmienne środowiskowe GCLOUD_PROJECT i GCLOUD_LOCATION w swoim środowisku hostingu lub w wywołaniu vertexai.Init().

    Jedynym obiektem tajnym, który musisz skonfigurować na potrzeby tego samouczka, jest dostawca modelu, ale generalnie musisz wykonać coś podobnego w przypadku każdej usługi, z której korzysta Twój 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 Uruchom.

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