アプリケーションをデプロイする

Reasoning Engine API には次の制限事項があります。

  • Reasoning Engine API は、Python コードのみのデプロイをサポートしています。
  • Reasoning Engine API は us-central1 リージョンでのみサポートされています。

始める前に

このチュートリアルを実行する前に、次の手順を実施してください。

  1. 環境を設定する
  2. アプリケーションを開発する

ReasoningEngine インスタンスを作成する

Vertex AI にアプリケーションをデプロイするには、ReasoningEngine.create を使用してオブジェクトをパラメータとして渡します。アプリケーションにパッケージの依存関係を導入するには、次のパラメータを使用します。

  • requirements: 外部 PyPI パッケージの依存関係のリスト。1 行に 1 つの文字列を記述します。詳細については、要件ファイルの形式をご覧ください。
  • extra_packages: 内部パッケージの依存関係のリスト。これらのパッケージの依存関係は、アプリケーションに必要なローカル Python パッケージに対応するローカル ファイルまたはディレクトリです。

次のコードは、アプリケーションをデプロイする方法を示しています。

remote_app = reasoning_engines.ReasoningEngine.create(
    reasoning_engines.LangchainAgent(
        model=model,
        tools=[get_exchange_rate],
        model_kwargs=model_kwargs,
    ),
    requirements=[
        "google-cloud-aiplatform[reasoningengine,langchain]",
    ],
    display_name="DISPLAY_NAME",  # Optional.
)
remote_app

アプリケーションのデプロイが完了するまでに数分かかります。コンテナをビルドし、バックエンドで HTTP サーバーを起動します。デプロイのレイテンシは、必要なパッケージのインストールにかかった合計時間によって異なります。

デプロイされると、remote_app は Vertex AI で実行されている reasoning_engines.LangchainAgent のインスタンスに対応し、クエリまたは削除が可能になります。reasoning_engines.LangchainAgentローカル インスタンスとは別のものです。

デプロイされた各アプリケーションには一意の識別子があります。次のコマンドを実行して、アプリケーションの resource_name 識別子を取得します。

remote_app.resource_name

resource_name は projects/PROJECT_ID/locations/LOCATION/reasoningEngines/RESOURCE_ID の形式です。

ベスト プラクティス

  1. パッケージ バージョンを固定します(再現可能なビルドの場合)。追跡する一般的なパッケージには、google-cloud-aiplatformcloudpicklelangchainlangchain-corelangchain-google-vertexaipydantic などがあります。
  2. アプリ内の依存関係の数を最小限に抑えます。これにより、依存関係を更新する際の破壊的変更の数を減らし、新しい機能のためにアプリケーションを随時更新しやすくなります。

次のステップ