모든 앱 호스팅 플랫폼에 흐름 배포

Go 바이너리를 호스팅할 수 있는 모든 서비스를 사용하여 Firebase Genkit 흐름을 웹 서비스로 배포할 수 있습니다. 예를 들어 이 페이지에서는 기본 샘플 흐름을 배포하는 일반적인 프로세스를 설명하고 제공업체별 작업을 수행해야 하는 위치를 알려줍니다.

  1. Genkit 샘플 프로젝트용 디렉터리를 만듭니다.

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

    IDE를 사용하려면 이 디렉터리로 엽니다.

  2. 프로젝트 디렉터리에서 Go 모듈을 초기화합니다.

    go mod init example/cloudrun
    
  3. 프로젝트에서 Genkit를 초기화합니다.

    genkit init
    

    사용할 모델 제공업체를 선택합니다.

    나머지 프롬프트는 기본값을 수락합니다. genkit 도구는 자체 AI 흐름 개발을 시작할 수 있도록 샘플 소스 파일을 만듭니다. 하지만 이 튜토리얼의 나머지 부분에서는 샘플 흐름을 배포하기만 하면 됩니다.

  4. 샘플 파일 (main.go 또는 genkit.go)을 수정하여 흐름 서버가 수신 대기해야 하는 포트를 명시적으로 지정합니다.

    if err := genkit.Init(ctx,
    	&genkit.Options{FlowAddr: ":3400"}, // Add this parameter.
    ); err != nil {
    	log.Fatal(err)
    }
    

    제공업체에서 특정 포트에서 리슨해야 하는 경우 이에 따라 Genkit를 구성해야 합니다.

  5. 몇 가지 형태의 인증 및 승인을 구현하여 배포하려는 흐름에 대한 액세스를 제어합니다.

    대부분의 생성형 AI 서비스는 데이터 전송량 제한이 있으므로 이 서비스를 호출하는 엔드포인트에 대한 공개 액세스를 허용하지 않는 것이 좋습니다. 일부 호스팅 서비스는 배포된 앱에 인증 레이어를 프런트엔드로 제공하므로 이 용도로 사용할 수 있습니다.

  6. 배포된 함수에 API 사용자 인증 정보를 제공합니다. 선택한 모델 제공업체에 따라 다음 중 하나를 수행합니다.

    Gemini (Google AI)

    1. Google AI를 해당 리전에서 사용할 수 있는지 확인하세요.

    2. Google AI Studio를 사용하여 Gemini API를 위한 API 키를 생성합니다.

    3. 배포된 환경에서 API 키를 사용할 수 있도록 합니다.

      대부분의 앱 호스트는 API 키와 같은 보안 비밀을 안전하게 처리하기 위한 시스템을 제공합니다. 이러한 보안 비밀은 앱에서 환경 변수 형태로 제공되는 경우가 많습니다. API 키를 GOOGLE_GENAI_API_KEY 변수에 할당할 수 있으면 Genkit에서 자동으로 사용합니다. 그렇지 않으면 googleai.Init() 호출을 수정하여 키를 명시적으로 설정해야 합니다. 키를 코드에 직접 삽입하지 마세요. 호스팅 업체에서 제공하는 보안 비밀 관리 기능을 사용하세요.)

    Gemini (Vertex AI)

    1. Cloud 콘솔에서 프로젝트에 대해 Vertex AI API를 사용 설정합니다.

    2. 서비스 계정이 없는 경우 IAM 페이지에서 Vertex AI API에 액세스할 서비스 계정을 만듭니다.

      계정에 Vertex AI 사용자 역할을 부여합니다.

    3. 호스팅 환경에서 애플리케이션 기본 사용자 인증 정보를 설정합니다.

    4. 사용할 Google Cloud 프로젝트 ID와 Vertex AI API 위치로 플러그인을 구성합니다. 이렇게 하려면 호스팅 환경에서 또는 vertexai.Init() 호출에서 GCLOUD_PROJECTGCLOUD_LOCATION 환경 변수를 설정하면 됩니다.

    이 가이드에서 설정해야 하는 유일한 보안 비밀은 모델 제공자용이지만 일반적으로 흐름에 사용되는 각 서비스에 대해 유사한 작업을 수행해야 합니다.

  7. 선택사항: 개발자 UI에서 흐름을 시도해 보세요.

    1. 선택한 모델 제공업체의 로컬 환경을 설정합니다.

      Gemini (Google AI)

      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. UI를 시작합니다.

      genkit start
      
    3. 개발자 UI (http://localhost:4000/)에서 흐름을 실행합니다.

      1. menuSuggestionFlow를 클릭합니다.

      2. JSON 입력 탭에서 모델의 제목을 입력합니다.

        "banana"
        
      3. 실행을 클릭합니다.

  8. 지금까지 모든 것이 예상대로 작동하면 제공업체의 도구를 사용하여 흐름을 빌드하고 배포할 수 있습니다.