Guia de início rápido sobre uso de computador

Esta página demonstra como fazer chamadas diretas de API para criar e usar um ambiente de sandbox de uso de computador. Neste guia de início rápido, você realiza as seguintes tarefas:

  • Criar uma instância da Agent Platform para acessar a sandbox.
  • Criar uma sandbox de uso de computador.
  • Gerar um token de acesso para a sandbox.
  • Enviar uma solicitação para verificar o status.
  • Limpar recursos.

Antes de começar

Configurr o projeto e o ambiente.

Criar o projeto

  1. Faça login na sua Google Cloud conta do. Se você começou a usar o Google Cloud, crie uma conta para avaliar o desempenho dos nossos produtos em situações reais. Clientes novos também recebem US $300 em créditos para executar, testar e implantar cargas de trabalho.
  2. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Roles required to select or create a project

    • Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
    • Create a project: To create a project, you need the Project Creator role (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  3. Verify that billing is enabled for your Google Cloud project.

  4. Enable the Gemini Enterprise Agent Platform API.

    Roles required to enable APIs

    To enable APIs, you need the serviceusage.services.enable permission. If you created the project, then you likely already have this permission through the Owner role (roles/owner). Otherwise, you can get this permission through the Service Usage Admin role (roles/serviceusage.serviceUsageAdmin). Learn how to grant roles.

    Enable the API

  5. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Roles required to select or create a project

    • Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
    • Create a project: To create a project, you need the Project Creator role (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  6. Verify that billing is enabled for your Google Cloud project.

  7. Enable the Gemini Enterprise Agent Platform API.

    Roles required to enable APIs

    To enable APIs, you need the serviceusage.services.enable permission. If you created the project, then you likely already have this permission through the Owner role (roles/owner). Otherwise, you can get this permission through the Service Usage Admin role (roles/serviceusage.serviceUsageAdmin). Learn how to grant roles.

    Enable the API

Ter os papéis necessários

Para usar a sandbox e gerar tokens, você precisa dos seguintes papéis:

  • Usuário da Agent Platform (roles/aiplatform.user) no projeto.
  • Criador de token da conta de serviço (roles/iam.serviceAccountTokenCreator) na conta de serviço usada para geração de token.
  • A conta de serviço usada para geração de token também precisa ter o papel Usuário da Agent Platform (roles/aiplatform.user) no projeto.

Instalar bibliotecas

Instale o SDK da Agent Platform: posix-terminal pip install google-cloud-aiplatform>=1.112.0

Criar uma instância da Agent Platform

Para usar a sandbox, primeiro crie uma instância da Agent Platform.

import vertexai
client = vertexai.Client(
    project='PROJECT_ID',
    location='LOCATION',
    http_options={
        "api_version": "v1beta1",
    }
)
agent_instance = client.agent_engines.create()
agent_instance_name = agent_instance.api_resource.name

Substitua:

  • PROJECT_ID: o ID do projeto do Google Cloud .
  • LOCATION: a região da instância (como us-central1).

Criar um modelo para uso de computador

Crie um modelo de sandbox que será usado ao criar uma sandbox de uso de computador.

# Create a default Computer Use sandbox template
templates_client = client.agent_engines.sandboxes.templates
tmplt_operation = templates_client.create(
    name=agent_instance_name,
    display_name='DISPLAY_NAME',
    config={
        "default_container_environment": {
            "default_container_category": "DEFAULT_CONTAINER_CATEGORY_COMPUTER_USE",
        },
        "egress_control_config": {
            "internet_access": True,
        },
    },
)
template_name = tmplt_operation.response.name
print(f"Created template: {template_name}")

Criar uma sandbox de uso de computador

Crie um ambiente de sandbox com base no modelo.

# Create a sandbox environment referencing the template.
# To customize the lifetime, set `ttl` to a duration string in seconds (for example, "3600s" for 1 hour).
create_operation = client.agent_engines.sandboxes.create(
    name=agent_instance_name,
    config={
        "sandbox_environment_template": template_name,
        "display_name": 'DISPLAY_NAME',
        "ttl": "3600s",  # Optional. Overrides the default 2-hour sandbox lifetime.
    }
)
sandbox = create_operation.response
print(f"Created sandbox environment: {sandbox.name}")
print(f"Sandbox will expire at: {sandbox.expire_time}")

Gerar um token de acesso

Para interagir com a sandbox, gere um token de acesso JSON Web Token (JWT) usando uma conta de serviço.

service_account_email = "SERVICE_ACCOUNT_EMAIL"
access_token = client.agent_engines.sandboxes.generate_access_token(
    service_account_email=service_account_email,
)

Substitua SERVICE_ACCOUNT_EMAIL pelo e-mail da conta de serviço que tem o papel Criador de token da conta de serviço.

Enviar uma solicitação para a sandbox

Envie uma solicitação GET HTTP para o servidor da API da sandbox para verificar o status.

response = client.agent_engines.sandboxes.send_command(
    http_method="GET",
    access_token=access_token,
    sandbox_environment=sandbox
)
print(f"Sandbox response: {response.body}")

Envie uma solicitação HTTP POST para navegar até uma página específica.

data = {"command": "Page.navigate", "params": {"url": "https://example.com"}}

response = client.agent_engines.sandboxes.send_command(
    http_method="POST",
    path="cdp",
    access_token=access_token,
    request_dict=data,
    sandbox_environment=sandbox
)

A tabela a seguir lista outros métodos e caminhos que podem ser enviados para a sandbox:

Método Caminho Descrição
GET / Recebe a verificação de integridade da sandbox
POST /tabs Cria uma nova guia e retorna os detalhes dela.
GET /tabs Lista os detalhes de todas as guias abertas.
POST /tabs/{tab_id}/activate Define uma guia como ativa e a coloca em primeiro plano.
EXCLUIR /tabs/{tab_id} Fecha uma guia específica.
GET /cdp_ws_endpoint Retorna o caminho do endpoint WebSocket do CDP.
POST /cdp Executa um comando CDP na guia ativa.
POST /cdps Executa vários comandos CDP na guia ativa.

Para mais informações sobre os comandos e o formato do CDP com suporte, consulte o site do CDP.

Limpar

Para evitar cobranças, exclua os recursos criados neste guia de início rápido.

client.agent_engines.sandboxes.delete(name=sandbox.name)
agent_instance.delete()

A seguir

  • Confira os snapshots para o gerenciamento do ciclo de vida da sandbox.