En esta sección se describe cómo usar las sesiones de Vertex AI Agent Engine para gestionar sesiones mediante llamadas directas a la API. Puedes hacer llamadas directas a la API si no quieres usar un agente ADK para gestionar las sesiones.
Para gestionar sesiones con el agente ADK, consulta Gestionar sesiones con Agent Development Kit.
Crear una instancia de Vertex AI Agent Engine
Para acceder a las sesiones de Vertex AI Agent Engine, debes usar una instancia de Vertex AI Agent Engine. No es necesario que implemente ningún código para empezar a usar Sesiones. Sin necesidad de desplegar código, crear una instancia de Vertex AI Agent Engine solo lleva unos segundos.
Si no tienes ninguna instancia de Vertex AI Agent Engine, crea una con el siguiente código:
import vertexai
client = vertexai.Client(project=PROJECT, location=LOCATION)
agent_engine = client.agent_engines.create()
Mostrar sesiones
Lista las sesiones asociadas a tu instancia de Vertex AI Agent Engine.
SDK de Vertex AI para Python
for session in client.agent_engines.sessions.list(
name=agent_engine.api_resource.name, # Required
):
print(session)
# To list sessions for a specific user:
for session in client.agent_engines.sessions.list(
name=agent_engine.api_resource.name, # Required
config={"filter": "user_id=USER_ID"},
):
print(session)
REST
Antes de usar los datos de la solicitud, haz las siguientes sustituciones:
- PROJECT_ID: tu ID de proyecto.
- LOCATION: la región en la que has creado tu instancia de Agent Engine.
- AGENT_ENGINE_ID: El ID de recurso de tu instancia de Agent Engine.
Método HTTP y URL:
GET https://LOCATION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/reasoningEngines/AGENT_ENGINE_ID/sessions
Para enviar tu solicitud, elige una de estas opciones:
curl
Ejecuta el comando siguiente:
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
Ejecuta el comando siguiente:
$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
Debería aparecer una lista de sesiones.
Si quieres enumerar las sesiones de un usuario concreto, puedes añadir el parámetro de consulta ?filter=user_id=\"USER_ID\"
, donde USER_ID es el ID del usuario que quieres consultar.
Crear una sesión
Crea una sesión asociada a un ID de usuario.
SDK de Vertex AI para Python
session = client.agent_engines.sessions.create(
name=agent_engine.api_resource.name, # Required
user_id=USER_ID, # Required
)
REST
Antes de usar los datos de la solicitud, haz las siguientes sustituciones:
- PROJECT_ID: tu ID de proyecto.
- LOCATION: la región en la que has creado tu instancia de Agent Engine.
- AGENT_ENGINE_ID: El ID de recurso de tu instancia de Agent Engine.
- USER_ID: un ID de usuario
Método HTTP y URL:
POST https://LOCATION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/reasoningEngines/AGENT_ENGINE_ID/sessions
Cuerpo JSON de la solicitud:
{ "userId": USER_ID }
Para enviar tu solicitud, elige una de estas opciones:
curl
Guarda el cuerpo de la solicitud en un archivo llamado request.json
y ejecuta el siguiente comando:
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
Guarda el cuerpo de la solicitud en un archivo llamado request.json
y ejecuta el siguiente comando:
$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
Deberías recibir una operación de larga duración que puedes consultar para comprobar el estado de creación de tu sesión.
Obtener una sesión
Obtiene una sesión específica asociada a tu instancia de Vertex AI Agent Engine.
SDK de Vertex AI para Python
session = client.agent_engines.sessions.get(
name='projects/PROJECT_ID/locations/LOCATION/reasoningEngines/AGENT_ENGINE_ID/sessions/SESSION_ID', # Required
user_id=USER_ID, # Required
)
# session.name will correspond to
# 'projects/PROJECT_ID/locations/LOCATION/reasoningEngines/AGENT_ENGINE_ID/sessions/SESSION_ID'
REST
Antes de usar los datos de la solicitud, haz las siguientes sustituciones:
- PROJECT_ID: tu ID de proyecto.
- LOCATION: la región en la que has creado tu instancia de Agent Engine.
- AGENT_ENGINE_ID: El ID de recurso de tu instancia de Agent Engine.
- SESSION_ID: el ID de recurso de la sesión que quieres recuperar. Puedes obtener el ID de sesión de la respuesta que recibiste cuando creaste la sesión.
Método HTTP y URL:
GET https://LOCATION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/reasoningEngines/AGENT_ENGINE_ID/sessions/SESSION_ID
Para enviar tu solicitud, elige una de estas opciones:
curl
Ejecuta el comando siguiente:
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
Ejecuta el comando siguiente:
$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
En la respuesta, deberías ver información sobre tu sesión.
Eliminar una sesión
Elimina una sesión asociada a tu instancia de Vertex AI Agent Engine.
SDK de Vertex AI para Python
client.agent_engines.sessions.delete(name=session.name)
REST
Antes de usar los datos de la solicitud, haz las siguientes sustituciones:
- PROJECT_ID: tu ID de proyecto.
- LOCATION: la región en la que quieres crear la instancia de Example Store.
- AGENT_ENGINE_ID: El ID de recurso de tu instancia de Agent Engine.
- SESSION_ID: el ID de recurso de la sesión que quieres recuperar.
Método HTTP y URL:
DELETE https://LOCATION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/reasoningEngines/AGENT_ENGINE_ID/sessions/SESSION_ID
Para enviar tu solicitud, elige una de estas opciones:
curl
Ejecuta el comando siguiente:
curl -X DELETE \
-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
Ejecuta el comando siguiente:
$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/reasoningEngines/AGENT_ENGINE_ID/sessions/SESSION_ID" | Select-Object -Expand Content
Deberías recibir un código de estado que indique que la operación se ha realizado correctamente (2xx) y una respuesta vacía.
Mostrar eventos de una sesión
Lista los eventos de una sesión asociada a tu instancia de Vertex AI Agent Engine.
SDK de Vertex AI para Python
for session_event in client.agent_engines.list_session_events(
name=session.name,
):
print(session_event)
REST
Antes de usar los datos de la solicitud, haz las siguientes sustituciones:
- PROJECT_ID: tu ID de proyecto.
- LOCATION: la región en la que has creado tu instancia de Agent Engine.
- AGENT_ENGINE_ID: El ID de recurso de tu instancia de Agent Engine.
- SESSION_ID: el ID de recurso de la sesión que quieres recuperar.
Método HTTP y URL:
GET https://LOCATION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/reasoningEngines/AGENT_ENGINE_ID/sessions/SESSION_ID/events
Para enviar tu solicitud, elige una de estas opciones:
curl
Ejecuta el comando siguiente:
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
Ejecuta el comando siguiente:
$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
En la respuesta, debería aparecer una lista de eventos asociados a su sesión.
Añadir un evento a una sesión
Añade un evento a una sesión asociada a una instancia de Vertex AI Agent Engine.
SDK de Vertex AI para Python
import datetime
client.agent_engines.sessions.events.append(
name=session.name,
author="user", # Required.
invocation_id="1", # Required.
timestamp=datetime.datetime.now(tz=datetime.timezone.utc), # Required.
config={
"content": {
"role": "user",
"parts": [{"text": "hello"}]
},
},
)
REST
Antes de usar los datos de la solicitud, haz las siguientes sustituciones:
- PROJECT_ID: tu ID de proyecto.
- LOCATION: la región en la que has creado tu instancia de Agent Engine.
- AGENT_ENGINE_ID: El ID de recurso de tu instancia de Agent Engine.
- SESSION_ID: el ID de recurso de la sesión a la que quieres añadir eventos.
- AUTHOR: el autor del evento. Puede ser
'user'
o el nombre de un agente. - INVOCATION_ID: identificador de una invocación.
- TIMESTAMP: marca de tiempo del evento.
Método HTTP y URL:
POST https://LOCATION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/reasoningEngines/AGENT_ENGINE_ID/sessions/SESSION_ID
Cuerpo JSON de la solicitud:
{ "author": AUTHOR, "invocationId": INVOCATION_ID, "timestamp": TIMESTAMP, }
Para enviar tu solicitud, elige una de estas opciones:
curl
Guarda el cuerpo de la solicitud en un archivo llamado request.json
y ejecuta el siguiente comando:
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
Guarda el cuerpo de la solicitud en un archivo llamado request.json
y ejecuta el siguiente comando:
$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
Deberías recibir un código de estado que indique que la operación se ha realizado correctamente (2xx) y una respuesta vacía.