任意の Node.js プラットフォームにフローをデプロイ

Firebase Genkit には、Firebase Cloud Functions と Google Cloud Run へのフローのデプロイに役立つ統合が組み込まれていますが、Express.js アプリを提供できるプラットフォーム(クラウド サービスや自己ホスト型など)にフローをデプロイすることもできます。

このページでは、デフォルトのサンプルフローをデプロイするプロセスを例として説明します。

  1. 必要なツールをインストールします。

    • ノードのバージョン 20 以降を使用していることを確認します(node --version を実行して確認します)。
  2. Genkit サンプル プロジェクトのディレクトリを作成します。

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

    IDE を使用する場合は、このディレクトリで開きます。

  3. Nodejs プロジェクトを初期化します。

    npm init -y
    
  4. Genkit プロジェクトを初期化します。

    genkit init
    
    1. デプロイ プラットフォームのオプションとして Node.js を選択します(Firebase Cloud Functions と Google Cloud Run のテンプレートも使用できます)。

    2. モデルの選択:

      Gemini(Google AI)

      最も簡単な開始方法は、Google AI Gemini API を使用することです。お住まいの地域で利用可能であることを確認してください。

      Google AI Studio を使用して、Gemini API の API キーを生成します。次に、GOOGLE_API_KEY 環境変数をキーに設定します。

      export GOOGLE_API_KEY=<your API key>
      

      Gemini(Vertex AI)

      お住まいの地域で Google AI Gemini API を利用できない場合は、Gemini やその他のモデルを提供する Vertex AI API の使用を検討してください。課金が有効になっている Google Cloud プロジェクトを用意し、AI Platform API を有効にして、追加の環境変数を設定する必要があります。

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

      Vertex AI の料金については、https://cloud.google.com/vertex-ai/generative-ai/pricing をご覧ください。

    3. 残りの質問に対するデフォルトの回答を選択します。これにより、プロジェクト フォルダがいくつかのサンプルコードで初期化されます。

  5. サンプルコードをビルドして実行します。

    npm run build
    genkit flow:run menuSuggestionFlow "\"banana\"" -s
    
  6. 省略可: デベロッパー UI を起動します。

    genkit start
    

    次に、http://localhost:4000/flows に移動し、デベロッパー UI を使用してフローを実行します。

    完了したら、コンソールで Ctrl+C キーを押して UI を終了します。

  7. Express エンドポイントを試します。

    npm run start
    

    別のウィンドウで次の操作を行います。

    curl -X POST "http://127.0.0.1:3400/menuSuggestionFlow?stream=true" -H "Content-Type: application/json"  -d '{"data": "banana"}'
    
  8. すべてが想定どおりに機能したら、任意のプロバイダにフローをデプロイできます。詳細はプロバイダによって異なりますが、通常は次の設定を構成する必要があります。

    設定
    ランタイム Node.js 20 以降
    ビルドコマンド npm run build
    コマンドを開始 npm run start
    環境変数 GOOGLE_API_KEY=<your-api-key>(または必要なシークレット)