直接 API 呼び出しを使用してセッションを管理する

このセクションでは、Vertex AI Agent Engine セッションを使用して、直接 API 呼び出しでセッションを管理する方法について説明します。ADK エージェントを使用してセッションを管理しない場合は、API を直接呼び出すことができます。

ADK エージェントを使用してセッションを管理するには、エージェント開発キットを使用してセッションを管理するをご覧ください。

Vertex AI Agent Engine インスタンスを作成する

Vertex AI Agent Engine セッションにアクセスするには、Vertex AI Agent Engine インスタンスを使用する必要があります。セッションの使用を開始するためにコードをデプロイする必要はありません。コードをデプロイしなくても、Vertex AI Agent Engine インスタンスの作成は数秒しかかかりません。

既存の Vertex AI Agent Engine インスタンスがない場合は、次のコードを使用してインスタンスを作成します。

import vertexai
from vertexai import agent_engines

# Create an agent engine instance
agent_engine = agent_engines.create()

セッションを一覧表示する

Vertex AI Agent Engine インスタンスに関連付けられているすべてのセッションを一覧表示します。

REST API

sessions.list メソッドを使用します。

リクエストのデータを使用する前に、次のように置き換えます。

  • PROJECT_ID: プロジェクト ID。
  • LOCATION: エージェント エンジン インスタンスを作成したリージョン。サポートされているリージョンは us-central1 のみです。
  • AGENT_ENGINE_ID: Agent Engine インスタンスのリソース ID。

HTTP メソッドと URL:

GET https://LOCATION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/reasoningEngines/AGENT_ENGINE_ID/sessions

リクエストを送信するには、次のいずれかのオプションを選択します。

curl

次のコマンドを実行します。

curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://LOCATION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/reasoningEngines/AGENT_ENGINE_ID/sessions"

PowerShell

次のコマンドを実行します。

$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }

Invoke-WebRequest `
-Method GET `
-Headers $headers `
-Uri "https://LOCATION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/reasoningEngines/AGENT_ENGINE_ID/sessions" | Select-Object -Expand Content

返されたセッションのリストが表示されます。

セッションを作成する

ユーザー ID に関連付けられたセッションを作成します。

REST API

sessions.create メソッドを使用する。

リクエストのデータを使用する前に、次のように置き換えます。

  • PROJECT_ID: プロジェクト ID。
  • LOCATION: エージェント エンジン インスタンスを作成したリージョン。サポートされているリージョンは us-central1 のみです。
  • AGENT_ENGINE_ID: Agent Engine インスタンスのリソース ID。
  • USER_ID: ユーザー ID

HTTP メソッドと URL:

POST https://LOCATION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/reasoningEngines/AGENT_ENGINE_ID/sessions

リクエストの本文(JSON):

{
  "userId": USER_ID
}

リクエストを送信するには、次のいずれかのオプションを選択します。

curl

リクエスト本文を request.json という名前のファイルに保存して、次のコマンドを実行します。

curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://LOCATION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/reasoningEngines/AGENT_ENGINE_ID/sessions"

PowerShell

リクエスト本文を request.json という名前のファイルに保存して、次のコマンドを実行します。

$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }

Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://LOCATION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/reasoningEngines/AGENT_ENGINE_ID/sessions" | Select-Object -Expand Content

長時間実行オペレーションが返されます。このオペレーションをクエリして、セッションの作成ステータスを確認できます。

セッションを取得する

Vertex AI Agent Engine インスタンスに関連付けられている特定のセッションを取得します。

REST API

sessions.get メソッドを使用する。

リクエストのデータを使用する前に、次のように置き換えます。

  • PROJECT_ID: プロジェクト ID。
  • LOCATION: エージェント エンジン インスタンスを作成したリージョン。サポートされているリージョンは us-central1 のみです。
  • AGENT_ENGINE_ID: Agent Engine インスタンスのリソース ID。
  • SESSION_ID: 取得するセッションのリソース ID。セッション ID は、セッションの作成時に受信したレスポンスから取得できます。

HTTP メソッドと URL:

GET https://LOCATION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/reasoningEngines/AGENT_ENGINE_ID/sessions/SESSION_ID

リクエストを送信するには、次のいずれかのオプションを選択します。

curl

次のコマンドを実行します。

curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://LOCATION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/reasoningEngines/AGENT_ENGINE_ID/sessions/SESSION_ID"

PowerShell

次のコマンドを実行します。

$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }

Invoke-WebRequest `
-Method GET `
-Headers $headers `
-Uri "https://LOCATION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/reasoningEngines/AGENT_ENGINE_ID/sessions/SESSION_ID" | Select-Object -Expand Content

レスポンスにセッションに関する情報が表示されます。

セッションを削除する

Vertex AI Agent Engine インスタンスに関連付けられたセッションを削除します。

REST API

sessions.delete メソッドを使用する。

リクエストのデータを使用する前に、次のように置き換えます。

  • PROJECT_ID: プロジェクト ID。
  • LOCATION: Example Store インスタンスを作成するリージョン。サポートされているリージョンは us-central1 のみです。
  • AGENT_ENGINE_ID: Agent Engine インスタンスのリソース ID。
  • SESSION_ID: 取得するセッションのリソース ID。

HTTP メソッドと URL:

DELETE https://LOCATION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/sessions/SESSION_ID

リクエストを送信するには、次のいずれかのオプションを選択します。

curl

次のコマンドを実行します。

curl -X DELETE \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://LOCATION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/sessions/SESSION_ID"

PowerShell

次のコマンドを実行します。

$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }

Invoke-WebRequest `
-Method DELETE `
-Headers $headers `
-Uri "https://LOCATION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/sessions/SESSION_ID" | Select-Object -Expand Content

成功したことを示すステータス コード(2xx)と空のレスポンスが返されます。

セッション内のイベントを一覧表示する

Vertex AI Agent Engine インスタンスに関連付けられたセッション内のイベントを一覧表示します。

REST API

events.list メソッドを使用する。

リクエストのデータを使用する前に、次のように置き換えます。

  • PROJECT_ID: プロジェクト ID。
  • LOCATION: エージェント エンジン インスタンスを作成したリージョン。サポートされているリージョンは us-central1 のみです。
  • AGENT_ENGINE_ID: Agent Engine インスタンスのリソース ID。
  • SESSION_ID: 取得するセッションのリソース ID。

HTTP メソッドと URL:

GET https://LOCATION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/reasoningEngines/AGENT_ENGINE_ID/sessions/SESSION_ID/events

リクエストを送信するには、次のいずれかのオプションを選択します。

curl

次のコマンドを実行します。

curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://LOCATION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/reasoningEngines/AGENT_ENGINE_ID/sessions/SESSION_ID/events"

PowerShell

次のコマンドを実行します。

$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }

Invoke-WebRequest `
-Method GET `
-Headers $headers `
-Uri "https://LOCATION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/reasoningEngines/AGENT_ENGINE_ID/sessions/SESSION_ID/events" | Select-Object -Expand Content

レスポンスに、セッションに関連付けられているイベントのリストが表示されます。

セッションにイベントを追加する

Vertex AI Agent Engine インスタンスに関連付けられたセッションにイベントを追加します。

REST API

sessions.appendEvent メソッドを使用する。

リクエストのデータを使用する前に、次のように置き換えます。

  • PROJECT_ID: プロジェクト ID。
  • LOCATION: エージェント エンジン インスタンスを作成したリージョン。サポートされているリージョンは us-central1 のみです。
  • AGENT_ENGINE_ID: Agent Engine インスタンスのリソース ID。
  • SESSION_ID: イベントを追加するセッションのリソース ID。
  • AUTHOR: イベントの作成者。'user' またはエージェント名を指定できます。
  • INVOCATION_ID: 呼び出しの ID。
  • TIMESTAMP: イベントのタイムスタンプ。

HTTP メソッドと URL:

POST https://LOCATION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/reasoningEngines/AGENT_ENGINE_ID/sessions/SESSION_ID

リクエストの本文(JSON):

{
  "author": AUTHOR,
  "invocationId": INVOCATION_ID,
  "timestamp": TIMESTAMP,
}

リクエストを送信するには、次のいずれかのオプションを選択します。

curl

リクエスト本文を request.json という名前のファイルに保存して、次のコマンドを実行します。

curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://LOCATION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/reasoningEngines/AGENT_ENGINE_ID/sessions/SESSION_ID"

PowerShell

リクエスト本文を request.json という名前のファイルに保存して、次のコマンドを実行します。

$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }

Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://LOCATION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/reasoningEngines/AGENT_ENGINE_ID/sessions/SESSION_ID" | Select-Object -Expand Content

成功したことを示すステータス コード(2xx)と空のレスポンスが返されます。