Cada sandbox é apoiado por um modelo de ambiente de sandbox, que descreve a imagem do contêiner a ser executada. Os modelos de sandbox servem como projetos para sandboxes de contêiner personalizados. Esta página demonstra como gerenciar o ciclo de vida dos modelos de sandbox usando o SDK da Agent Platform. É possível listar os modelos atuais, conferir os detalhes ou excluí-los quando não forem mais necessários.
Para modificar a configuração de um modelo (como mudar a imagem do contêiner), exclua o modelo atual e crie um novo com a configuração atualizada.
Antes de começar
Para gerenciar modelos de sandbox, você precisa das seguintes funções no seu projeto:
- Usuário da Agent Platform (
roles/aiplatform.user)
Reutilizar modelos em sandboxes
Para sandboxes de uso de computador e shell, se você não especificar um modelo, o modelo padrão (DEFAULT_CONTAINER_CATEGORY_COMPUTER_USE ou DEFAULT_CONTAINER_CATEGORY_SHELL_SANDBOX) será criado para a sandbox.
Um novo modelo é criado durante cada chamada create() que não nomeia um modelo. A exclusão da sandbox não exclui o modelo. Portanto, é necessário excluir os modelos separadamente. Se você criar muitas sandboxes, recomendamos reutilizar modelos para conservar recursos.
Criar um modelo:
from agentplatform._genai import types
template_op = client.agent_engines.sandboxes.templates.create(
name=instance_name,
display_name="shell-sandbox-template",
config=types.CreateSandboxEnvironmentTemplateConfig(
default_container_environment=types.SandboxEnvironmentTemplateDefaultContainerEnvironment(
default_container_category=types.DefaultContainerCategory.DEFAULT_CONTAINER_CATEGORY_SHELL_SANDBOX,
),
),
)
template = template_op.response.name
Associe cada sandbox ao modelo definindo sandbox_environment_template:
operation = client.sandboxes.create(
name=instance_name,
spec={"shell_environment": {}},
config={
"sandbox_environment_template": template,
"wait_for_completion": True,
},
)
Listar modelos
Para listar todos os modelos de sandbox associados a uma instância da Agent Platform:
import agentplatform
client = agentplatform.Client(project='PROJECT_ID', location='LOCATION')
instance_name = 'projects/PROJECT_ID/locations/LOCATION/reasoningEngines/INSTANCE_ID'
templates_response = client.sandboxes.templates.list(name=instance_name)
for template in templates_response.sandbox_environment_templates:
print(template.name)
Substitua:
PROJECT_ID: o ID do projeto do Cloud de Confiance .LOCATION: A Cloud de Confiance região da instância da Agent Platform. Consulte Regiões compatíveis.INSTANCE_ID: o ID da instância da Agent Platform.
Conferir detalhes do modelo
Para conferir a configuração de um modelo de sandbox específico:
template_name = 'projects/PROJECT_ID/locations/LOCATION/reasoningEngines/INSTANCE_ID/SandboxEnvironmentTemplate/TEMPLATE_ID'
template = client.sandboxes.templates.get(name=template_name)
print(template)
Substitua:
PROJECT_ID: o ID do projeto do Cloud de Confiance .LOCATION: A Cloud de Confiance região da instância da Agent Platform. Consulte Regiões compatíveis.INSTANCE_ID: o ID da instância da Agent Platform que contém o modelo de sandbox.TEMPLATE_ID: o ID do modelo de sandbox.
Conferir o modelo de uma sandbox
Para conferir o modelo de sandbox associado a uma sandbox, execute o seguinte:
print(sandbox.sandbox_environment_template)
Excluir um modelo
Para excluir um modelo de sandbox:
client.sandboxes.templates.delete(name=template_name)
print("Template deleted.")