任意のアプリ ホスティング プラットフォームにフローをデプロイする

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 のロケーションを使用してプラグインを構成します。これを行うには、ホスティング環境で環境変数 GCLOUD_PROJECTGCLOUD_LOCATION を設定するか、vertexai.Init() 呼び出しで設定します。

    このチュートリアル用に設定する必要があるシークレットは、モデル プロバイダ用だけですが、通常は、フローで使用するサービスごとに同様のことを行う必要があります。

  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. [Input JSON] タブで、モデルの被写体を指定します。

        "banana"
        
      3. [実行] をクリックします。

  8. ここまでの作業ですべてが正常に動作している場合は、プロバイダのツールを使用してフローをビルドしてデプロイできます。