Nesta seção, descrevemos como usar as sessões do Agent Platform para gerenciar sessões usando o console Google Cloud ou chamadas diretas da API. É possível usar o console Google Cloud ou chamadas diretas de API se não quiser usar um agente do ADK para gerenciar sessões.
Para gerenciar sessões usando o agente do ADK, consulte Gerenciar sessões com o Kit de Desenvolvimento de Agente.
Criar uma instância do Agent Runtime
Para acessar as sessões da plataforma de agentes, primeiro use uma instância do ambiente de execução de agentes. Não é necessário implantar nenhum código para começar a usar as sessões. Se você já usou o Agent Engine, criar uma instância do Agent Runtime leva apenas alguns segundos sem implantação de código. Isso pode levar mais tempo se for a primeira vez que você usa o Agent Engine.
Se você não tiver uma instância do Agent Runtime, crie uma usando o seguinte código:
import vertexai
client = vertexai.Client(
project="PROJECT_ID",
location="LOCATION"
)
# If you don't have an Agent Engine instance already, create an instance.
agent_engine = client.agent_engines.create()
# Optionally, print out the Agent Engine resource name. You will need the
# resource name to interact with Sessions later on.
print(agent_engine.api_resource.name)
Substitua:
- PROJECT_ID: o ID do projeto.
- LOCATION: sua região. Consulte as regiões compatíveis para sessões.
Listar sessões
Lista as sessões associadas à sua instância do Agent Runtime.
Console
Para agentes implantados, use o console Google Cloud para listar as sessões associadas ao seu agente:
- No Google Cloud console, acesse a página Implantações do Agent Platform.
As instâncias do Agent Engine que fazem parte do projeto selecionado aparecem na lista. Use o campo Filtro para filtrar a lista pela coluna especificada.
Clique no nome da sua instância do Agent Engine.
Clique na guia Sessões. Uma lista de sessões é exibida por ID.
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)
- USER_ID: escolha seu próprio ID de usuário com um limite de 128 caracteres.
Por exemplo,
user-123.
REST
Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:
- PROJECT_ID: o ID do projeto.
- LOCATION: a região em que você criou a instância do Agent Engine.
- AGENT_ENGINE_ID: O ID do recurso da sua instância do Agent Engine.
Método HTTP e URL:
GET https://LOCATION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/reasoningEngines/AGENT_ENGINE_ID/sessions
Para enviar a solicitação, escolha uma destas opções:
curl
Execute o seguinte comando:
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
Execute o seguinte comando:
$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
Uma lista de sessões vai aparecer.
Se quiser listar sessões de um usuário específico, adicione o parâmetro de consulta ?filter=user_id=\"USER_ID\", em que USER_ID é o ID do usuário que você quer consultar.
Criar uma sessão
Crie uma sessão associada a um ID de usuário.
Console
Para agentes implantados, use o console do Google Cloud para criar sessões:
- No Google Cloud console, acesse a página Implantações do Agent Platform.
As instâncias do Agent Engine que fazem parte do projeto selecionado aparecem na lista. Use o campo Filtro para filtrar a lista pela coluna especificada.
Clique no nome da sua instância do Agent Engine.
Clique na guia Playground.
Clique em Nova sessão para criar uma sessão.
Python
session = client.agent_engines.sessions.create(
name=agent_engine.api_resource.name, # Required
user_id=USER_ID, # Required
session_id=SESSION_ID,
)
em que USER_ID é o ID do usuário que você definiu. Por exemplo, user-123.
Para SESSION_ID, considere as seguintes restrições para evitar colisões com IDs gerados pelo sistema:
- Se o primeiro caractere for uma letra, o ID poderá ter até 63 caracteres.
Os caracteres válidos são letras minúsculas, números e hífens (
[a-z0-9-]). O último caractere precisa ser uma letra ou um número. - Se o primeiro caractere for um número, o ID poderá ter até nove caracteres.
Os caracteres válidos são números (
[0-9]) sem zeros à esquerda.
REST
Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:
- PROJECT_ID: o ID do projeto.
- LOCATION: a região em que você criou a instância do Agent Engine.
- AGENT_ENGINE_ID: O ID do recurso da sua instância do Agent Engine.
- USER_ID: o ID do usuário que você definiu. Por exemplo,
sessions-agent. - SESSION_ID: o ID da sessão que você definiu. Por exemplo,
my-custom-session.Para evitar colisões com IDs gerados pelo sistema, siga estas restrições ao especificar um ID de sessão personalizado:
- Se o primeiro caractere for uma letra, o ID poderá ter até 63 caracteres. Os caracteres válidos são letras minúsculas, números e hifens (`[a-z0-9-]`). O último caractere precisa ser uma letra ou um número.
- Se o primeiro caractere for um número, o ID poderá ter até nove caracteres. Os caracteres válidos são números (`[0-9]`) sem zeros à esquerda.
Método HTTP e URL:
POST https://LOCATION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/reasoningEngines/AGENT_ENGINE_ID/sessions
Corpo JSON da solicitação:
{ "userId": USER_ID }Para enviar a solicitação, escolha uma destas opções:
curl
Salve o corpo da solicitação em um arquivo com o nome
request.jsone execute o comando abaixo: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
Salve o corpo da solicitação em um arquivo com o nome
request.jsone execute o comando abaixo:$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 ContentVocê vai receber uma operação de longa duração que pode ser consultada para verificar o status de criação da sua sessão.
Configurar time to live (TTL) da sessão
Todas as sessões precisam ter um tempo de expiração. É possível definir esse prazo de validade ao criar ou atualizar uma sessão. A sessão e os eventos filhos são excluídos automaticamente após o período de expiração. É possível definir o prazo de validade (expire_time) diretamente ou definir o tempo de vida (ttl) em segundos. Se nenhum for especificado, o sistema vai aplicar um TTL padrão de 365 dias.
Time to live (TTL)
Se você definir o tempo de vida, o servidor vai calcular o prazo de validade como create_time + ttl para sessões recém-criadas ou update_time + ttl para sessões atualizadas.
client.agent_engines.sessions.create(
name=agent_engine.api_resource.name, # Required
user_id=USER_ID, # Required
config={
# Session will be deleted 10 days after creation time.
"ttl": f"{24 * 60 * 60 * 10}s"
}
)
Tempo de expiração
import datetime
client.agent_engines.sessions.create(
name=agent_engine.api_resource.name, # Required
user_id=USER_ID, # Required
config={
# Session will be deleted at the provided time (10 days after current time).
"expire_time": datetime.datetime.now(tz=datetime.timezone.utc) + datetime.timedelta(seconds=24 * 60 * 60 * 10),
}
)
Acessar uma sessão
Receba uma sessão específica associada à sua instância da Agent Platform.
Console
Para agentes implantados, use o console do Google Cloud para criar sessões:
- No Google Cloud console, acesse a página Implantações do Agent Platform.
As instâncias do Agent Engine que fazem parte do projeto selecionado aparecem na lista. Use o campo Filtro para filtrar a lista pela coluna especificada.
Clique no nome da sua instância do Agent Engine.
Clique na guia Playground.
Clique na guia Sessões. Uma lista de sessões é exibida por ID.
Clique na sessão que você quer ver em mais detalhes.
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 os dados da solicitação abaixo, faça as substituições a seguir:
- PROJECT_ID: o ID do projeto.
- LOCATION: a região em que você criou a instância do Agent Engine.
- AGENT_ENGINE_ID: O ID do recurso da sua instância do Agent Engine.
- SESSION_ID: o ID do recurso da sessão que você quer recuperar. Você pode receber o ID da sessão na resposta que recebeu ao criar a sessão.
Método HTTP e URL:
GET https://LOCATION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/reasoningEngines/AGENT_ENGINE_ID/sessions/SESSION_ID
Para enviar a solicitação, escolha uma destas opções:
curl
Execute o seguinte comando:
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
Execute o seguinte comando:
$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
Na resposta, você vai encontrar informações sobre sua sessão.
Excluir uma sessão
Exclua uma sessão associada à sua instância da Agent Platform.
Console
Para agentes implantados, use o console Google Cloud para excluir sessões associadas ao seu agente:
- No console Google Cloud , acesse a página Implantações do Agent Platform.
As instâncias do Agent Engine que fazem parte do projeto selecionado aparecem na lista. Use o campo Filtro para filtrar a lista pela coluna especificada.
Clique no nome da sua instância do Agent Engine.
Clique na guia Sessões. Uma lista de sessões é exibida por ID.
Clique no menu Mais ações () da sessão que você quer excluir.
Clique em Excluir.
Clique em Excluir sessão.
Python
client.agent_engines.sessions.delete(name=session.name)
REST
Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:
- PROJECT_ID: o ID do projeto.
- LOCATION: a região em que você quer criar a instância da loja de exemplo.
- AGENT_ENGINE_ID: O ID do recurso da sua instância do Agent Engine.
- SESSION_ID: o ID do recurso da sessão que você quer recuperar.
Método HTTP e URL:
DELETE https://LOCATION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/reasoningEngines/AGENT_ENGINE_ID/sessions/SESSION_ID
Para enviar a solicitação, escolha uma destas opções:
curl
Execute o seguinte comando:
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
execute o seguinte comando:
$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
Você receberá um código de status bem-sucedido (2xx) e uma resposta vazia.
Listar eventos em uma sessão
Liste os eventos em uma sessão associada à sua instância do Agent Platform.
Console
Para agentes implantados, use o console do Google Cloud para criar sessões:
- No console Google Cloud , acesse a página Implantações do Agent Platform.
As instâncias do Agent Engine que fazem parte do projeto selecionado aparecem na lista. Use o campo Filtro para filtrar a lista pela coluna especificada.
Clique no nome da sua instância do Agent Engine.
Clique na guia Playground.
Clique na guia Sessões. Uma lista de sessões é exibida por ID.
Clique na sessão que você quer ver em mais detalhes.
Clique na guia Eventos para ver os eventos associados à sessão.
Python
for session_event in client.agent_engines.list_session_events(
name=session.name,
):
print(session_event)
REST
Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:
- PROJECT_ID: o ID do projeto.
- LOCATION: a região em que você criou a instância do Agent Engine.
- AGENT_ENGINE_ID: O ID do recurso da sua instância do Agent Engine.
- SESSION_ID: o ID do recurso da sessão que você quer recuperar.
Método HTTP e URL:
GET https://LOCATION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/reasoningEngines/AGENT_ENGINE_ID/sessions/SESSION_ID/events
Para enviar a solicitação, escolha uma destas opções:
curl
Execute o seguinte comando:
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
Execute o seguinte comando:
$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
Na resposta, você vai encontrar uma lista de eventos associados à sua sessão.
Anexar um evento a uma sessão
Adiciona um evento a uma sessão associada a uma instância da plataforma do agente.
Console
Para agentes implantados, use o console do Google Cloud para criar sessões:
- No Google Cloud console, acesse a página Implantações do Agent Platform.
As instâncias do Agent Engine que fazem parte do projeto selecionado aparecem na lista. Use o campo Filtro para filtrar a lista pela coluna especificada.
Clique no nome da sua instância do Agent Engine.
Clique na guia Playground.
Clique na guia Sessões. Uma lista de sessões é exibida por ID.
Clique na sessão que você quer ver em mais detalhes.
Clique na guia Eventos para ver os eventos associados à sessão.
Digite uma mensagem e pressione Enter para adicionar um novo evento à sessão.
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"}]
},
},
)
Como alternativa, use o campo raw_event para incluir dados arbitrários em eventos de sessão. Isso é útil para interoperabilidade com outras estruturas de
agentes ou para armazenar dados de eventos personalizados.
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={
"raw_event": {
"content": "hello",
"custom_field": "custom_value"
},
},
)
REST
Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:
- PROJECT_ID: o ID do projeto.
- LOCATION: a região em que você criou a instância do Agent Engine.
- AGENT_ENGINE_ID: O ID do recurso da sua instância do Agent Engine.
- USER_ID: o ID do usuário que você definiu. Por exemplo,
sessions-agent. - SESSION_ID: o ID da sessão que você definiu. Por exemplo,
my-custom-session.Para evitar colisões com IDs gerados pelo sistema, siga estas restrições ao especificar um ID de sessão personalizado:
- Se o primeiro caractere for uma letra, o ID poderá ter até 63 caracteres. Os caracteres válidos são letras minúsculas, números e hifens (`[a-z0-9-]`). O último caractere precisa ser uma letra ou um número.
- Se o primeiro caractere for um número, o ID poderá ter até nove caracteres. Os caracteres válidos são números (`[0-9]`) sem zeros à esquerda.
Método HTTP e URL:
POST https://LOCATION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/reasoningEngines/AGENT_ENGINE_ID/sessions
Corpo JSON da solicitação:
{ "userId": USER_ID }Para enviar a solicitação, escolha uma destas opções:
curl
Salve o corpo da solicitação em um arquivo com o nome
request.jsone execute o comando abaixo: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
Salve o corpo da solicitação em um arquivo com o nome
request.jsone execute o comando abaixo:$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 ContentVocê vai receber uma operação de longa duração que pode ser consultada para verificar o status de criação da sua sessão.
Limpar
Para limpar todos os recursos usados neste projeto, exclua a instância da Agent Platform e os recursos filhos dela:
agent_engine.delete(force=True)