エージェントをデプロイする

Vertex AI Agent Engine にエージェントをデプロイする手順は次のとおりです。

  1. 前提条件を満たしている
  2. (省略可)デプロイ用にエージェントを構成します
  3. AgentEngine インスタンスを作成します
  4. (省略可)エージェントのリソース ID を取得します
  5. (省略可)サポートされているオペレーションを一覧表示します。
  6. (省略可)デプロイされたエージェントに権限を付与します

デプロイには、Agent Starter Pack テンプレートを使用することもできます。

前提条件

エージェントをデプロイする前に、次のタスクが完了していることを確認してください。

  1. 環境を設定する
  2. エージェントを開発する

(省略可)デプロイ用にエージェントを構成する

エージェントに対して次のオプションの構成を行うことができます。

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

Vertex AI にエージェントをデプロイするには、client.agent_engines.create を使用して local_agent オブジェクトとオプションの構成を渡します。

remote_agent = client.agent_engines.create(
    agent=local_agent,                                  # Optional.
    config={
        "requirements": requirements,                   # Optional.
        "extra_packages": extra_packages,               # Optional.
        "gcs_dir_name": gcs_dir_name,                   # Optional.
        "display_name": display_name,                   # Optional.
        "description": description,                     # Optional.
        "labels": labels,                               # Optional.
        "env_vars": env_vars,                           # Optional.
        "build_options": build_options,                 # Optional.
        "service_account": service_account,             # Optional.
        "min_instances": min_instances,                 # Optional.
        "max_instances": max_instances,                 # Optional.
        "resource_limits": resource_limits,             # Optional.
        "container_concurrency": container_concurrency, # Optional
        "encryption_spec": encryption_spec,             # Optional.
    },
)

デプロイには数分かかります。この間、バックグラウンドで次の手順が実行されます。

  1. 次のアーティファクトのバンドルがローカルに生成されます。

  2. アーティファクトのステージングのために、バンドルが Cloud Storage(対応するフォルダ)にアップロードされます。

  3. それぞれのアーティファクトの Cloud Storage URI は PackageSpec で指定します。

  4. Vertex AI Agent Engine サービスがリクエストを受け取り、コンテナをビルドしてバックエンドで HTTP サーバーを起動します。

デプロイのレイテンシは、必要なパッケージのインストールにかかった合計時間によって異なります。デプロイされると、remote_agent は Vertex AI で実行されている local_agent のインスタンスに対応し、クエリまたは削除が可能になります。エージェントのローカル インスタンスとは別のものです。

remote_agent オブジェクトは、次の属性を含む AgentEngine クラスに対応します。

(省略可)エージェントのリソース ID を取得する

デプロイされた各エージェントには固有識別子があります。次のコマンドを実行して、デプロイされたエージェントのリソース名を取得できます。

remote_agent.api_resource.name

レスポンスは次の文字列のようになります。

"projects/PROJECT_NUMBER/locations/LOCATION/reasoningEngines/RESOURCE_ID"

ここで

  • PROJECT_ID は、デプロイされたエージェントが実行される Google Cloud プロジェクト ID です。

  • LOCATION は、デプロイされたエージェントが実行されるリージョンです。

  • RESOURCE_ID は、reasoningEngine リソースとしてのデプロイ済みエージェントの ID です。

(省略可)サポートされているオペレーションを一覧表示する

デプロイされた各エージェントには、サポートされているオペレーションのリストがあります。次のコマンドを実行して、デプロイされたエージェントでサポートされているオペレーションのリストを取得できます。

remote_agent.operation_schemas()

各オペレーションのスキーマは、呼び出せるエージェントのメソッドに関する情報をドキュメント化したディクショナリです。サポートされているオペレーションのセットは、エージェントの開発に使用したフレームワークによって異なります。

(省略可)デプロイされたエージェントに権限を付与する

デプロイされたエージェントに追加の権限を付与する必要がある場合は、エージェントの ID と権限を設定するの手順に沿って操作します。

次のステップ