Use modelos no Model Garden

Descubra, teste, ajuste e implemente modelos através do Model Garden na Google Cloud consola. Também pode implementar modelos do Model Garden através da Google Cloud CLI.

Envie comandos de teste

  1. Na Google Cloud consola, aceda à página Model Garden.

    Aceda ao Model Garden

  2. Encontre um modelo suportado que quer testar e clique em Ver detalhes.

  3. Clique em Abrir design de comandos.

    Acede à página Design de comandos.

  4. Em Comando, introduza o comando que quer testar.

  5. Opcional: configure os parâmetros do modelo.

  6. Clique em Enviar.

Ajuste um modelo

  1. Na Google Cloud consola, aceda à página Model Garden.

    Aceda ao Model Garden

  2. Em Modelos de pesquisa, introduza BERT ou T5-FLAN e, de seguida, clique na lupa para pesquisar.

  3. Clique em Ver detalhes no cartão do modelo T5-FLAN ou BERT.

  4. Clique em Abrir pipeline de ajuste preciso.

    Acede à página Vertex AI Pipelines.

  5. Para iniciar a otimização, clique em Criar execução.

Ajuste num notebook

Os cartões de modelo para a maioria dos modelos de base de código aberto e modelos ajustáveis suportam o ajuste num notebook.

  1. Na Google Cloud consola, aceda à página Model Garden.

    Aceda ao Model Garden

  2. Encontre um modelo suportado que quer ajustar e aceda ao respetivo cartão de modelo.

  3. Clique em Abrir notebook.

Implemente um modelo aberto

Pode implementar um modelo através do respetivo cartão de modelo na Google Cloud consola ou por programação.

Para mais informações sobre a configuração do SDK de IA gen da Google ou da CLI do Google Cloud, consulte a vista geral do SDK de IA gen da Google ou instale a CLI do Google Cloud.

Python

Para saber como instalar ou atualizar o SDK Vertex AI para Python, consulte o artigo Instale o SDK Vertex AI para Python. Para mais informações, consulte a Python documentação de referência da API.

  1. Liste os modelos que pode implementar e registe o ID do modelo a implementar. Opcionalmente, pode listar os modelos suportados do Hugging Face no Model Garden e até filtrá-los por nomes de modelos. A saída não inclui modelos otimizados.

    
    import vertexai
    from vertexai import model_garden
    
    # TODO(developer): Update and un-comment below lines
    # PROJECT_ID = "your-project-id"
    vertexai.init(project=PROJECT_ID, location="us-central1")
    
    # List deployable models, optionally list Hugging Face models only or filter by model name.
    deployable_models = model_garden.list_deployable_models(list_hf_models=False, model_filter="gemma")
    print(deployable_models)
    # Example response:
    # ['google/gemma2@gemma-2-27b','google/gemma2@gemma-2-27b-it', ...]
    
  2. Veja as especificações de implementação de um modelo usando o ID do modelo do passo anterior. Pode ver o tipo de máquina, o tipo de acelerador e o URI da imagem do contentor que o Model Garden validou para um modelo específico.

    
    import vertexai
    from vertexai import model_garden
    
    # TODO(developer): Update and un-comment below lines
    # PROJECT_ID = "your-project-id"
    # model = "google/gemma3@gemma-3-1b-it"
    vertexai.init(project=PROJECT_ID, location="us-central1")
    
    # For Hugging Face modelsm the format is the Hugging Face model name, as in
    # "meta-llama/Llama-3.3-70B-Instruct".
    # Go to https://console.cloud.google.com/vertex-ai/model-garden to find all deployable
    # model names.
    
    model = model_garden.OpenModel(model)
    deploy_options = model.list_deploy_options()
    print(deploy_options)
    # Example response:
    # [
    #   dedicated_resources {
    #     machine_spec {
    #       machine_type: "g2-standard-12"
    #       accelerator_type: NVIDIA_L4
    #       accelerator_count: 1
    #     }
    #   }
    #   container_spec {
    #     ...
    #   }
    #   ...
    # ]
    
  3. Implemente um modelo num ponto final. O Model Garden usa a configuração de implementação predefinida, a menos que especifique argumentos e valores adicionais.

    
    import vertexai
    from vertexai import model_garden
    
    # TODO(developer): Update and un-comment below lines
    # PROJECT_ID = "your-project-id"
    vertexai.init(project=PROJECT_ID, location="us-central1")
    
    open_model = model_garden.OpenModel("google/gemma3@gemma-3-12b-it")
    endpoint = open_model.deploy(
        machine_type="g2-standard-48",
        accelerator_type="NVIDIA_L4",
        accelerator_count=4,
        accept_eula=True,
    )
    
    # Optional. Run predictions on the deployed endoint.
    # endpoint.predict(instances=[{"prompt": "What is Generative AI?"}])
    

gcloud

Antes de começar, especifique um projeto de quota para executar os seguintes comandos. Os comandos que executa são contabilizados nas quotas desse projeto. Para mais informações, consulte o artigo Defina o projeto de quota.

  1. Liste os modelos que pode implementar executando o comando gcloud ai model-garden models list. Este comando lista todos os IDs dos modelos e quais pode implementar autonomamente.

    gcloud ai model-garden models list
    

    Na saída, encontre o ID do modelo a implementar. O exemplo seguinte mostra um resultado abreviado.

    MODEL_ID                                      CAN_DEPLOY  CAN_PREDICT
    google/gemma2@gemma-2-27b                     Yes         No
    google/gemma2@gemma-2-27b-it                  Yes         No
    google/gemma2@gemma-2-2b                      Yes         No
    google/gemma2@gemma-2-2b-it                   Yes         No
    google/gemma2@gemma-2-9b                      Yes         No
    google/gemma2@gemma-2-9b-it                   Yes         No
    google/gemma3@gemma-3-12b-it                  Yes         No
    google/gemma3@gemma-3-12b-pt                  Yes         No
    google/gemma3@gemma-3-1b-it                   Yes         No
    google/gemma3@gemma-3-1b-pt                   Yes         No
    google/gemma3@gemma-3-27b-it                  Yes         No
    google/gemma3@gemma-3-27b-pt                  Yes         No
    google/gemma3@gemma-3-4b-it                   Yes         No
    google/gemma3@gemma-3-4b-pt                   Yes         No
    google/gemma3n@gemma-3n-e2b                   Yes         No
    google/gemma3n@gemma-3n-e2b-it                Yes         No
    google/gemma3n@gemma-3n-e4b                   Yes         No
    google/gemma3n@gemma-3n-e4b-it                Yes         No
    google/gemma@gemma-1.1-2b-it                  Yes         No
    google/gemma@gemma-1.1-2b-it-gg-hf            Yes         No
    google/gemma@gemma-1.1-7b-it                  Yes         No
    google/gemma@gemma-1.1-7b-it-gg-hf            Yes         No
    google/gemma@gemma-2b                         Yes         No
    google/gemma@gemma-2b-gg-hf                   Yes         No
    google/gemma@gemma-2b-it                      Yes         No
    google/gemma@gemma-2b-it-gg-hf                Yes         No
    google/gemma@gemma-7b                         Yes         No
    google/gemma@gemma-7b-gg-hf                   Yes         No
    google/gemma@gemma-7b-it                      Yes         No
    google/gemma@gemma-7b-it-gg-hf                Yes         No
    

    O resultado não inclui modelos otimizados nem modelos do Hugging Face. Para ver que modelos do Hugging Face são suportados, adicione a flag --can-deploy-hugging-face-models.

  2. Para ver as especificações de implementação de um modelo, execute o comando gcloud ai model-garden models list-deployment-config. Pode ver o tipo de máquina, o tipo de acelerador e o URI da imagem do contentor que o Model Garden suporta para um modelo específico.

    gcloud ai model-garden models list-deployment-config \
        --model=MODEL_ID
    

    Substitua MODEL_ID pelo ID do modelo do comando da lista anterior, como google/gemma@gemma-2b ou stabilityai/stable-diffusion-xl-base-1.0.

  3. Implemente um modelo num ponto final executando o comando gcloud ai model-garden models deploy. O Model Garden gera um nome a apresentar para o seu ponto final e usa a configuração de implementação predefinida, a menos que especifique argumentos e valores adicionais.

    Para executar o comando de forma assíncrona, inclua a flag --asynchronous.

    gcloud ai model-garden models deploy \
        --model=MODEL_ID \
        [--machine-type=MACHINE_TYPE] \
        [--accelerator-type=ACCELERATOR_TYPE] \
        [--endpoint-display-name=ENDPOINT_NAME] \
        [--hugging-face-access-token=HF_ACCESS_TOKEN] \
        [--reservation-affinity reservation-affinity-type=any-reservation] \
        [--reservation-affinity reservation-affinity-type=specific-reservation, key="compute.googleapis.com/reservation-name", values=RESERVATION_RESOURCE_NAME] \
        [--asynchronous]
    

    Substitua os seguintes marcadores de posição:

    • MODEL_ID: o ID do modelo do comando de lista anterior. Para os modelos da Hugging Face, use o formato de URL do modelo da Hugging Face, como stabilityai/stable-diffusion-xl-base-1.0.
    • MACHINE_TYPE: define o conjunto de recursos a implementar para o seu modelo, como g2-standard-4.
    • ACCELERATOR_TYPE: especifica os aceleradores a adicionar à sua implementação para ajudar a melhorar o desempenho quando trabalha com cargas de trabalho intensivas, como NVIDIA_L4.
    • ENDPOINT_NAME: um nome para o ponto final do Vertex AI implementado.
    • HF_ACCESS_TOKEN: para modelos do Hugging Face, se o modelo for restrito, faculte um token de acesso.
    • RESERVATION_RESOURCE_NAME: para usar uma reserva do Compute Engine específica, especifique o nome da sua reserva. Se especificar uma reserva específica, não pode especificar any-reservation.

    O resultado inclui a configuração de implementação usada pelo Model Garden, o ID do ponto final e o ID da operação de implementação, que pode usar para verificar o estado da implementação.

    Using the default deployment configuration:
     Machine type: g2-standard-12
     Accelerator type: NVIDIA_L4
     Accelerator count: 1
    
    The project has enough quota. The current usage of quota for accelerator type NVIDIA_L4 in region us-central1 is 0 out of 28.
    
    Deploying the model to the endpoint. To check the deployment status, you can try one of the following methods:
    1) Look for endpoint `ENDPOINT_DISPLAY_NAME` at the [Vertex AI] -> [Online prediction] tab in Cloud Console
    2) Use `gcloud ai operations describe OPERATION_ID --region=LOCATION` to find the status of the deployment long-running operation
    
  4. Para ver detalhes sobre a sua implementação, execute o comando gcloud ai endpoints list --list-model-garden-endpoints-only:

    gcloud ai endpoints list --list-model-garden-endpoints-only \
        --region=LOCATION_ID
    

    Substitua LOCATION_ID pela região onde implementou o modelo.

    A saída inclui todos os pontos finais criados a partir do Model Garden e inclui informações como o ID do ponto final, o nome do ponto final e se o ponto final está associado a um modelo implementado. Para encontrar a sua implementação, procure o nome do ponto final devolvido pelo comando anterior.

REST

Apresente todos os modelos implementáveis e, em seguida, obtenha o ID do modelo a implementar. Em seguida, pode implementar o modelo com a respetiva configuração e ponto final predefinidos. Em alternativa, pode optar por personalizar a implementação, como definir um tipo de máquina específico ou usar um ponto final dedicado.

1. Apresente os modelos que pode implementar

Antes de usar qualquer um dos dados do pedido, faça as seguintes substituições:

  • PROJECT_ID: o ID do seu Google Cloud projeto.
  • QUERY_PARAMETERS: para listar os modelos do Model Garden, adicione os seguintes parâmetros de consulta: listAllVersions=True&filter=is_deployable(true). Para listar os modelos do Hugging Face, defina o filtro como alt=json&is_hf_wildcard(true)+AND+labels.VERIFIED_DEPLOYMENT_CONFIG%3DVERIFIED_DEPLOYMENT_SUCCEED&listAllVersions=True.

Método HTTP e URL:

GET https://us-central1-aiplatform.googleapis.com/v1/publishers/*/models?QUERY_PARAMETERS

Para enviar o seu pedido, escolha uma destas opções:

curl

Execute o seguinte comando:

curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "x-goog-user-project: PROJECT_ID" \
"https://us-central1-aiplatform.googleapis.com/v1/publishers/*/models?QUERY_PARAMETERS"

PowerShell

Execute o seguinte comando:

$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred"; "x-goog-user-project" = "PROJECT_ID" }

Invoke-WebRequest `
-Method GET `
-Headers $headers `
-Uri "https://us-central1-aiplatform.googleapis.com/v1/publishers/*/models?QUERY_PARAMETERS" | Select-Object -Expand Content

Recebe uma resposta JSON semelhante à seguinte.

{
  "publisherModels": [
    {
      "name": "publishers/google/models/gemma3",
      "versionId": "gemma-3-1b-it",
      "openSourceCategory": "GOOGLE_OWNED_OSS_WITH_GOOGLE_CHECKPOINT",
      "supportedActions": {
        "openNotebook": {
          "references": {
            "us-central1": {
              "uri": "https://colab.research.google.com/github/GoogleCloudPlatform/vertex-ai-samples/blob/main/notebooks/community/model_garden/model_garden_gradio_streaming_chat_completions.ipynb"
            }
          },
          "resourceTitle": "Notebook",
          "resourceUseCase": "Chat Completion Playground",
          "resourceDescription": "Chat with deployed Gemma 2 endpoints via Gradio UI."
        },
        "deploy": {
          "modelDisplayName": "gemma-3-1b-it",
          "containerSpec": {
            "imageUri": "us-docker.pkg.dev/vertex-ai/vertex-vision-model-garden-dockers/pytorch-vllm-serve:20250312_0916_RC01",
            "args": [
              "python",
              "-m",
              "vllm.entrypoints.api_server",
              "--host=0.0.0.0",
              "--port=8080",
              "--model=gs://vertex-model-garden-restricted-us/gemma3/gemma-3-1b-it",
              "--tensor-parallel-size=1",
              "--swap-space=16",
              "--gpu-memory-utilization=0.95",
              "--disable-log-stats"
            ],
            "env": [
              {
                "name": "MODEL_ID",
                "value": "google/gemma-3-1b-it"
              },
              {
                "name": "DEPLOY_SOURCE",
                "value": "UI_NATIVE_MODEL"
              }
            ],
            "ports": [
              {
                "containerPort": 8080
              }
            ],
            "predictRoute": "/generate",
            "healthRoute": "/ping"
          },
          "dedicatedResources": {
            "machineSpec": {
              "machineType": "g2-standard-12",
              "acceleratorType": "NVIDIA_L4",
              "acceleratorCount": 1
            }
          },
          "publicArtifactUri": "gs://vertex-model-garden-restricted-us/gemma3/gemma3.tar.gz",
          "deployTaskName": "vLLM 128K context",
          "deployMetadata": {
            "sampleRequest": "{\n    \"instances\": [\n        {\n          \"@requestFormat\": \"chatCompletions\",\n          \"messages\": [\n              {\n                  \"role\": \"user\",\n                  \"content\": \"What is machine learning?\"\n              }\n          ],\n          \"max_tokens\": 100\n        }\n    ]\n}\n"
          }
        },
        ...

2. Implemente um modelo

Implemente um modelo do Model Garden ou um modelo do Hugging Face. Também pode personalizar a implementação especificando campos JSON adicionais.

Implemente um modelo com a respetiva configuração predefinida.

Antes de usar qualquer um dos dados do pedido, faça as seguintes substituições:

  • LOCATION: uma região onde o modelo é implementado.
  • PROJECT_ID: o ID do seu Google Cloud projeto.
  • MODEL_ID: o ID do modelo a implementar, que pode obter ao listar todos os modelos implementáveis. O ID usa o seguinte formato: publishers/PUBLISHER_NAME/models/ MODEL_NAME@MODEL_VERSION.

Método HTTP e URL:

POST https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION:deploy

Corpo JSON do pedido:

{
  "publisher_model_name": "MODEL_ID",
  "model_config": {
    "accept_eula": "true"
  }
}

Para enviar o seu pedido, escolha uma destas opções:

curl

Guarde o corpo do pedido num ficheiro denominado request.json. Execute o seguinte comando no terminal para criar ou substituir este ficheiro no diretório atual:

cat > request.json << 'EOF'
{
  "publisher_model_name": "MODEL_ID",
  "model_config": {
    "accept_eula": "true"
  }
}
EOF

Em seguida, execute o seguinte comando para enviar o seu pedido REST:

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/v1/projects/PROJECT_ID/locations/LOCATION:deploy"

PowerShell

Guarde o corpo do pedido num ficheiro denominado request.json. Execute o seguinte comando no terminal para criar ou substituir este ficheiro no diretório atual:

@'
{
  "publisher_model_name": "MODEL_ID",
  "model_config": {
    "accept_eula": "true"
  }
}
'@  | Out-File -FilePath request.json -Encoding utf8

Em seguida, execute o seguinte comando para enviar o seu pedido REST:

$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/v1/projects/PROJECT_ID/locations/LOCATION:deploy" | Select-Object -Expand Content

Recebe uma resposta JSON semelhante à seguinte.

{
  "name": "projects/PROJECT_ID/locations/LOCATION/operations/OPERATION_ID",
  "metadata": {
    "@type": "type.googleapis.com/google.cloud.aiplatform.v1.DeployOperationMetadata",
    "genericMetadata": {
      "createTime": "2025-03-13T21:44:44.538780Z",
      "updateTime": "2025-03-13T21:44:44.538780Z"
    },
    "publisherModel": "publishers/google/models/gemma3@gemma-3-1b-it",
    "destination": "projects/PROJECT_ID/locations/LOCATION",
    "projectNumber": "PROJECT_ID"
  }
}

Implemente um modelo do Hugging Face

Antes de usar qualquer um dos dados do pedido, faça as seguintes substituições:

  • LOCATION: uma região onde o modelo é implementado.
  • PROJECT_ID: o ID do seu Google Cloud projeto.
  • MODEL_ID: o modelo Hugging Face ID do modelo a implementar, que pode obter a partir da listagem de todos os modelos implementáveis. O ID usa o seguinte formato: PUBLISHER_NAME/MODEL_NAME.
  • ACCESS_TOKEN: se o modelo for restrito, forneça um token de acesso.

Método HTTP e URL:

POST https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION:deploy

Corpo JSON do pedido:

{
  "hugging_face_model_id": "MODEL_ID",
  "hugging_face_access_token": "ACCESS_TOKEN",
  "model_config": {
    "accept_eula": "true"
  }
}

Para enviar o seu pedido, escolha uma destas opções:

curl

Guarde o corpo do pedido num ficheiro denominado request.json. Execute o seguinte comando no terminal para criar ou substituir este ficheiro no diretório atual:

cat > request.json << 'EOF'
{
  "hugging_face_model_id": "MODEL_ID",
  "hugging_face_access_token": "ACCESS_TOKEN",
  "model_config": {
    "accept_eula": "true"
  }
}
EOF

Em seguida, execute o seguinte comando para enviar o seu pedido REST:

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/v1/projects/PROJECT_ID/locations/LOCATION:deploy"

PowerShell

Guarde o corpo do pedido num ficheiro denominado request.json. Execute o seguinte comando no terminal para criar ou substituir este ficheiro no diretório atual:

@'
{
  "hugging_face_model_id": "MODEL_ID",
  "hugging_face_access_token": "ACCESS_TOKEN",
  "model_config": {
    "accept_eula": "true"
  }
}
'@  | Out-File -FilePath request.json -Encoding utf8

Em seguida, execute o seguinte comando para enviar o seu pedido REST:

$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/v1/projects/PROJECT_ID/locations/LOCATION:deploy" | Select-Object -Expand Content

Recebe uma resposta JSON semelhante à seguinte.

{
  "name": "projects/PROJECT_ID/locations/us-central1LOCATION/operations/OPERATION_ID",
  "metadata": {
    "@type": "type.googleapis.com/google.cloud.aiplatform.v1.DeployOperationMetadata",
    "genericMetadata": {
      "createTime": "2025-03-13T21:44:44.538780Z",
      "updateTime": "2025-03-13T21:44:44.538780Z"
    },
    "publisherModel": "publishers/PUBLISHER_NAME/model/MODEL_NAME",
    "destination": "projects/PROJECT_ID/locations/LOCATION",
    "projectNumber": "PROJECT_ID"
  }
}

Implemente um modelo com personalizações

Antes de usar qualquer um dos dados do pedido, faça as seguintes substituições:

  • LOCATION: uma região onde o modelo é implementado.
  • PROJECT_ID: o ID do seu Google Cloud projeto.
  • MODEL_ID: o ID do modelo a implementar, que pode obter ao listar todos os modelos implementáveis. O ID usa o seguinte formato: publishers/PUBLISHER_NAME/models/ MODEL_NAME@MODEL_VERSION, como google/gemma@gemma-2b ou stabilityai/stable-diffusion-xl-base-1.0.
  • MACHINE_TYPE: define o conjunto de recursos a implementar para o seu modelo, como g2-standard-4.
  • ACCELERATOR_TYPE: Especifica aceleradores a adicionar à sua implementação para ajudar a melhorar o desempenho quando trabalha com cargas de trabalho intensivas, como NVIDIA_L4
  • ACCELERATOR_COUNT: o número de aceleradores a usar na sua implementação.
  • reservation_affinity_type: Para usar uma reserva do Compute Engine existente para a sua implementação, especifique qualquer reserva ou uma específica. Se especificar este valor, não especifique spot.
  • spot: se deve usar VMs do Spot para a sua implementação.
  • IMAGE_URI: a localização da imagem do contentor a usar, como us-docker.pkg.dev/vertex-ai/vertex-vision-model-garden-dockers/pytorch-vllm-serve:20241016_0916_RC00_maas
  • CONTAINER_ARGS: argumentos a transmitir ao contentor durante a implementação.
  • CONTAINER_PORT: um número de porta para o seu contentor.
  • fast_tryout_enabled: Quando testa um modelo, pode optar por usar uma implementação mais rápida. Esta opção só está disponível para os modelos muito usados com determinados tipos de máquinas. Se estiver ativado, não pode especificar configurações de modelos nem de implementação.

Método HTTP e URL:

POST https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION:deploy

Corpo JSON do pedido:

{
  "publisher_model_name": "MODEL_ID",
  "deploy_config": {
    "dedicated_resources": {
      "machine_spec": {
        "machine_type": "MACHINE_TYPE",
        "accelerator_type": "ACCELERATOR_TYPE",
        "accelerator_count": ACCELERATOR_COUNT,
        "reservation_affinity": {
          "reservation_affinity_type": "ANY_RESERVATION"
        }
      },
      "spot": "false"
    }
  },
  "model_config": {
    "accept_eula": "true",
    "container_spec": {
      "image_uri": "IMAGE_URI",
      "args": [CONTAINER_ARGS ],
      "ports": [
        {
          "container_port": CONTAINER_PORT
        }
      ]
    }
  },
  "deploy_config": {
    "fast_tryout_enabled": false
  },
}

Para enviar o seu pedido, escolha uma destas opções:

curl

Guarde o corpo do pedido num ficheiro denominado request.json. Execute o seguinte comando no terminal para criar ou substituir este ficheiro no diretório atual:

cat > request.json << 'EOF'
{
  "publisher_model_name": "MODEL_ID",
  "deploy_config": {
    "dedicated_resources": {
      "machine_spec": {
        "machine_type": "MACHINE_TYPE",
        "accelerator_type": "ACCELERATOR_TYPE",
        "accelerator_count": ACCELERATOR_COUNT,
        "reservation_affinity": {
          "reservation_affinity_type": "ANY_RESERVATION"
        }
      },
      "spot": "false"
    }
  },
  "model_config": {
    "accept_eula": "true",
    "container_spec": {
      "image_uri": "IMAGE_URI",
      "args": [CONTAINER_ARGS ],
      "ports": [
        {
          "container_port": CONTAINER_PORT
        }
      ]
    }
  },
  "deploy_config": {
    "fast_tryout_enabled": false
  },
}
EOF

Em seguida, execute o seguinte comando para enviar o seu pedido REST:

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/v1/projects/PROJECT_ID/locations/LOCATION:deploy"

PowerShell

Guarde o corpo do pedido num ficheiro denominado request.json. Execute o seguinte comando no terminal para criar ou substituir este ficheiro no diretório atual:

@'
{
  "publisher_model_name": "MODEL_ID",
  "deploy_config": {
    "dedicated_resources": {
      "machine_spec": {
        "machine_type": "MACHINE_TYPE",
        "accelerator_type": "ACCELERATOR_TYPE",
        "accelerator_count": ACCELERATOR_COUNT,
        "reservation_affinity": {
          "reservation_affinity_type": "ANY_RESERVATION"
        }
      },
      "spot": "false"
    }
  },
  "model_config": {
    "accept_eula": "true",
    "container_spec": {
      "image_uri": "IMAGE_URI",
      "args": [CONTAINER_ARGS ],
      "ports": [
        {
          "container_port": CONTAINER_PORT
        }
      ]
    }
  },
  "deploy_config": {
    "fast_tryout_enabled": false
  },
}
'@  | Out-File -FilePath request.json -Encoding utf8

Em seguida, execute o seguinte comando para enviar o seu pedido REST:

$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/v1/projects/PROJECT_ID/locations/LOCATION:deploy" | Select-Object -Expand Content

Recebe uma resposta JSON semelhante à seguinte.

{
  "name": "projects/PROJECT_ID/locations/LOCATION/operations/OPERATION_ID",
  "metadata": {
    "@type": "type.googleapis.com/google.cloud.aiplatform.v1.DeployOperationMetadata",
    "genericMetadata": {
      "createTime": "2025-03-13T21:44:44.538780Z",
      "updateTime": "2025-03-13T21:44:44.538780Z"
    },
    "publisherModel": "publishers/google/models/gemma3@gemma-3-1b-it",
    "destination": "projects/PROJECT_ID/locations/LOCATION",
    "projectNumber": "PROJECT_ID"
  }
}

Consola

  1. Na Google Cloud consola, aceda à página Model Garden.

    Aceda ao Model Garden

  2. Encontre um modelo suportado que quer implementar e clique no respetivo cartão de modelo.

  3. Clique em Implementar para abrir o painel Implementar modelo.

  4. No painel Implementar modelo, especifique os detalhes da implementação.

    1. Usar ou modificar os nomes do modelo e do ponto final gerados.
    2. Selecione uma localização para criar o seu ponto final do modelo.
    3. Selecione um tipo de máquina a usar para cada nó da sua implementação.
    4. Para usar uma reserva do Compute Engine, na secção Definições de implementação, selecione Avançadas.

    No campo Tipo de reserva, selecione um tipo de reserva. A reserva tem de corresponder às especificações da máquina indicadas.

    • Usar automaticamente a reserva criada: a Vertex AI seleciona automaticamente uma reserva permitida com propriedades correspondentes. Se não houver capacidade na reserva selecionada automaticamente, o Vertex AI usa o conjunto de recursos Google Cloud geral.
    • Selecionar reservas específicas: a Vertex AI usa uma reserva específica. Se não houver capacidade para a reserva selecionada, é apresentado um erro.
    • Não usar (predefinição): o Vertex AI usa o conjunto de recursosGoogle Cloud geral. Este valor tem o mesmo efeito que não especificar uma reserva.
  5. Clique em Implementar.

Terraform

Para saber como aplicar ou remover uma configuração do Terraform, consulte os comandos básicos do Terraform. Para mais informações, consulte a Terraform documentação de referência do fornecedor.

Implemente um modelo

O exemplo seguinte implementa o modelo gemma-3-1b-it num novo ponto final do Vertex AI em us-central1 através das configurações predefinidas.

terraform {
  required_providers {
    google = {
      source = "hashicorp/google"
      version = "6.45.0"
    }
  }
}

provider "google" {
  region  = "us-central1"
}

resource "google_vertex_ai_endpoint_with_model_garden_deployment" "gemma_deployment" {
  publisher_model_name = "publishers/google/models/gemma3@gemma-3-1b-it"
  location = "us-central1"
  model_config {
    accept_eula = True
  }
}

Para implementar um modelo com personalização, consulte o artigo Ponto final da Vertex AI com implementação do Model Garden para ver detalhes.

Aplique a configuração

terraform init
terraform plan
terraform apply

Depois de aplicar a configuração, o Terraform aprovisiona um novo ponto final do Vertex AI e implementa o modelo aberto especificado.

Limpar

Para eliminar o ponto final e a implementação do modelo, execute o seguinte comando:

terraform destroy

Implemente um modelo de parceiro e faça pedidos de previsão

Na Google Cloud consola, aceda à página Model Garden e use o filtro Coleções de modelos para ver os Modelos de parceiros de implementação autónoma. Escolha a partir da lista de modelos de parceiros de implementação autónoma e compre o modelo clicando em Ativar.

Tem de implementar nos tipos de máquinas necessários do parceiro, conforme descrito na secção "Configuração de hardware recomendada" no cartão do modelo do Model Garden. Quando implementados, os recursos de publicação de modelos estão localizados num projeto seguro gerido pela Google.

Python

Para saber como instalar ou atualizar o SDK Vertex AI para Python, consulte o artigo Instale o SDK Vertex AI para Python. Para mais informações, consulte a Python documentação de referência da API.

No código, substitua os seguintes marcadores de posição:

  • LOCATION: a região onde planeia implementar o modelo e o ponto final.
  • PROJECT_ID: o ID do seu projeto.
  • DISPLAY_NAME: um nome descritivo para o recurso associado.
  • PUBLISHER_NAME: o nome do parceiro que fornece o modelo para carregar ou implementar.
  • PUBLISHER_MODEL_NAME: o nome do modelo a carregar.
  • MACHINE_TYPE: define o conjunto de recursos a implementar para o seu modelo, como g2-standard-4. Tem de corresponder a uma das configurações fornecidas pelo parceiro.
  • ACCELERATOR_TYPE: especifica os aceleradores a adicionar à sua implementação para ajudar a melhorar o desempenho quando trabalha com cargas de trabalho intensivas, como NVIDIA_L4. Tem de corresponder a uma das configurações fornecidas pelo parceiro.
  • ACCELERATOR_COUNT: o número de aceleradores a usar. Tem de corresponder a uma das configurações fornecidas pelo parceiro.
  • REQUEST_PAYLOAD: os campos e os valores a incluir no seu pedido de previsão. Veja o cartão do modelo do Model Garden do parceiro para ver os campos disponíveis.
from google.cloud import aiplatform

aiplatform.init(project=PROJECT_ID, location=LOCATION)

# Upload a model
model = aiplatform.Model.upload(
    display_name="DISPLAY_NAME_MODEL",
    model_garden_source_model_name = f"publishers/PUBLISHER_NAME/models/PUBLISHER_MODEL_NAME",
)

# Create endpoint
my_endpoint = aiplatform.Endpoint.create(display_name="DISPLAY_NAME_ENDPOINT")

# Deploy model
MACHINE_TYPE = "MACHINE_TYPE"  # @param {type: "string"}
ACCELERATOR_TYPE = "ACCELERATOR_TYPE" # @param {type: "string"}
ACCELERATOR_COUNT = ACCELERATOR_COUNT # @param {type: "number"}

model.deploy(
    endpoint=my_endpoint,
    deployed_model_display_name="DISPLAY_NAME_DEPLOYED_MODEL",
    traffic_split={"0": 100},
    machine_type=MACHINE_TYPE,
    accelerator_type=ACCELERATOR_TYPE,
    accelerator_count=ACCELERATOR_COUNT,
    min_replica_count=1,
    max_replica_count=1,
)

# Unary call for predictions
PAYLOAD = {
    REQUEST_PAYLOAD
}

request = json.dumps(PAYLOAD)

response = my_endpoint.raw_predict(
    body = request,
    headers = {'Content-Type':'application/json'}
)

print(response)

# Streaming call for predictions
PAYLOAD = {
    REQUEST_PAYLOAD
}

request = json.dumps(PAYLOAD)

for stream_response in my_endpoint.stream_raw_predict(
    body = request,
    headers = {'Content-Type':'application/json'}
):
    print(stream_response)

REST

Apresente todos os modelos implementáveis e, em seguida, obtenha o ID do modelo a implementar. Em seguida, pode implementar o modelo com a respetiva configuração e ponto final predefinidos. Em alternativa, pode optar por personalizar a implementação, como definir um tipo de máquina específico ou usar um ponto final dedicado.

Nos comandos curl de exemplo, substitua os seguintes marcadores de posição:

  • LOCATION: a região onde planeia implementar o modelo e o ponto final.
  • PROJECT_ID: o ID do seu projeto.
  • DISPLAY_NAME: um nome descritivo para o recurso associado.
  • PUBLISHER_NAME: o nome do parceiro que fornece o modelo para carregar ou implementar.
  • PUBLISHER_MODEL_NAME: o nome do modelo a carregar.
  • ENDPOINT_ID: o ID do ponto final.
  • MACHINE_TYPE: define o conjunto de recursos a implementar para o seu modelo, como g2-standard-4. Tem de corresponder a uma das configurações fornecidas pelo parceiro.
  • ACCELERATOR_TYPE: especifica os aceleradores a adicionar à sua implementação para ajudar a melhorar o desempenho quando trabalha com cargas de trabalho intensivas, como NVIDIA_L4. Tem de corresponder a uma das configurações fornecidas pelo parceiro.
  • ACCELERATOR_COUNT: o número de aceleradores a usar. Tem de corresponder a uma das configurações fornecidas pelo parceiro.
  • REQUEST_PAYLOAD: os campos e os valores a incluir no seu pedido de previsão. Veja o cartão do modelo do Model Garden do parceiro para ver os campos disponíveis.
  1. Carregue um modelo para o adicionar ao seu registo de modelos.

    curl -X POST \
    -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    -H "Content-Type: application/json" \
    https://LOCATION-aiplatform.googleapi.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/models:upload \
    -d '{
    "model": {
      "displayName": "DISPLAY_NAME_MODEL",
      "baseModelSource": {
        "modelGardenSource": {
          "publicModelName": f"publishers/PUBLISHER_NAME/models/PUBLISHER_MODEL_NAME",
        }
      }
    }
    }'
    
  2. Crie um ponto final.

    curl -X POST \
    -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    -H "Content-Type: application/json" \
    https://LOCATION-aiplatform.googleapi.com/v1/projects/PROJECT_ID/locations/LOCATION/endpoints \
    -d '{
    "displayName": "DISPLAY_NAME_ENDPOINT"
    }'
    
  3. Implemente o modelo carregado no ponto final.

    curl -X POST \
    -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    -H "Content-Type: application/json" \
    https://LOCATION-aiplatform.googleapi.com/v1/projects/PROJECT_ID/locations/LOCATION/endpoints/ENDPOINT_ID:deployModel \
    -d '{
    "deployedModel": {
      "model": f"projects/PROJECT_ID/locations/LOCATION/models/MODEL_ID",
      "displayName": "DISPLAY_NAME_DEPLOYED_MODEL",
      "dedicatedResources": {
       "machineSpec": {
          "machineType": "MACHINE_TYPE",
          "acceleratorType": "ACCELERATOR_TYPE",
          "acceleratorCount":"ACCELERATOR_COUNT",
       },
       "minReplicaCount": 1,
       "maxReplicaCount": 1
      },
    },
    "trafficSplit": {
      "0": 100
    }
    }'
    
  4. Após a implementação do modelo, pode fazer uma chamada unária ou de streaming para previsões. Veja o cartão do modelo do Model Garden do parceiro para saber que métodos da API são suportados.

    • Exemplo de chamada unária:
    curl -X POST \
    -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    -H "Content-Type: application/json" \
    https://LOCATION-aiplatform.googleapi.com/v1/projects/PROJECT_ID/locations/LOCATION/endpoints/ENDPOINT_ID:rawPredict \
    -d 'REQUEST_PAYLOAD'
    
    • Exemplo de chamada de streaming:
    curl -X POST \
    -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    -H "Content-Type: application/json" \
    https://LOCATION-aiplatform.googleapi.com/v1/projects/PROJECT_ID/locations/LOCATION/endpoints/ENDPOINT_ID:streamRawPredict \
    -d 'REQUEST_PAYLOAD'
    

Consola

  1. Na Google Cloud consola, aceda à página Model Garden.

    Aceda ao Model Garden

  2. Para encontrar um modelo específico, introduza o respetivo nome na caixa de pesquisa do Model Garden.

  3. Para ver todos os modelos que pode implementar autonomamente, na secção Coleções de modelos do painel de filtros, selecione Modelos de parceiros de implementação autónoma. A lista resultante inclui todos os modelos de parceiros implementáveis autonomamente.

  4. Clique no nome do modelo a implementar, o que abre o respetivo cartão do modelo.

  5. Clique em Opções de implementação.

  6. No painel Implementar no Vertex AI, configure a implementação, como a localização e o tipo de máquina.

  7. Clique em Implementar.

Após a implementação estar concluída, pode pedir previsões através do SDK ou da API. Estão disponíveis instruções adicionais na secção "Documentação" do cartão do modelo.

Veja ou faça a gestão de um ponto final

Para ver e gerir o seu ponto final, aceda à página Previsão online do Vertex AI.

Aceda à previsão online

O Vertex AI lista todos os pontos finais no seu projeto para uma região específica. Clique num ponto final para ver os respetivos detalhes, como os modelos implementados no ponto final.

Anule a implementação de modelos e elimine recursos

Para impedir que um modelo implementado use recursos no seu projeto, anule a implementação do modelo no respetivo ponto final. Tem de anular a implementação de um modelo antes de poder eliminar o ponto final e o modelo.

Anular implementação de modelos

Anule a implementação de um modelo a partir do respetivo ponto final.

Python

Para saber como instalar ou atualizar o SDK Vertex AI para Python, consulte o artigo Instale o SDK Vertex AI para Python. Para mais informações, consulte a Python documentação de referência da API.

No código, substitua:

  • PROJECT_ID com o ID do seu projeto
  • LOCATION com a sua região, por exemplo, "us-central1"
  • ENDPOINT_ID com o ID do ponto final
from google.cloud import aiplatform

aiplatform.init(project=PROJECT_ID, location=LOCATION)

# To find out which endpoints are available, un-comment the line below:
# endpoints = aiplatform.Endpoint.list()

endpoint = aiplatform.Endpoint(ENDPOINT_ID)
endpoint.undeploy_all()

gcloud

Nestes comandos, substitua:

  • PROJECT_ID com o nome do seu projeto
  • LOCATION_ID com a região onde implementou o modelo e o ponto final
  • ENDPOINT_ID com o ID de ponto final
  • MODEL_ID com o ID do modelo do comando de modelo de lista
  • DEPLOYED_MODEL_ID com o ID do modelo implementado
  1. Encontre o ID do ponto final associado à sua implementação executando o comando gcloud ai endpoints list.

    gcloud ai endpoints list \
        --project=PROJECT_ID \
        --region=LOCATION_ID
    
  2. Encontre o ID do modelo executando o comando gcloud ai models list.

    gcloud ai models list \
        --project=PROJECT_ID \
        --region=LOCATION_ID
    
  3. Use o ID do modelo do comando anterior para obter o ID do modelo implementado executando o comando gcloud ai models describe.

    gcloud ai models describe MODEL_ID \
        --project=PROJECT_ID \
        --region=LOCATION_ID
    

    O resultado abreviado tem o seguinte aspeto. No resultado, o ID é denominado deployedModelId.

    Using endpoint [https://us-central1-aiplatform.googleapis.com/]
    artifactUri: [URI removed]
    baseModelSource:
      modelGardenSource:
        publicModelName: publishers/google/models/gemma2
    ...
    deployedModels:
    -   deployedModelId: '1234567891234567891'
      endpoint: projects/12345678912/locations/us-central1/endpoints/12345678912345
    displayName: gemma2-2b-it-12345678912345
    etag: [ETag removed]
    modelSourceInfo:
      sourceType: MODEL_GARDEN
    name: projects/123456789123/locations/us-central1/models/gemma2-2b-it-12345678912345
    ...
    
  4. Execute o comando gcloud ai endpoints undeploy-model para anular a implementação do modelo no ponto final usando o ID do ponto final e o ID do modelo implementado dos comandos anteriores.

    gcloud ai endpoints undeploy-model ENDPOINT_ID \
        --project=PROJECT_ID \
        --region=LOCATION_ID \
        --deployed-model-id=DEPLOYED_MODEL_ID
    

    Este comando não produz qualquer resultado.

Consola

  1. Na Google Cloud consola, aceda ao separador Pontos finais na página Previsão online.

    Aceda a Pontos finais

  2. Na lista pendente Região, escolha a região onde o seu ponto final está localizado.

  3. Clique no nome do ponto final para abrir a página de detalhes.

  4. Na linha do modelo, clique em Ações e, de seguida, selecione Anular implementação do modelo a partir do ponto final.

  5. Na caixa de diálogo Anular implementação do modelo a partir do ponto final, clique em Anular implementação.

Elimine pontos finais

Elimine o ponto final do Vertex AI que estava associado à implementação do seu modelo.

Python

Para saber como instalar ou atualizar o SDK Vertex AI para Python, consulte o artigo Instale o SDK Vertex AI para Python. Para mais informações, consulte a Python documentação de referência da API.

No código, substitua:

  • PROJECT_ID com o ID do seu projeto
  • LOCATION com a sua região, por exemplo, "us-central1"
  • ENDPOINT_ID com o ID do ponto final
from google.cloud import aiplatform

aiplatform.init(project=PROJECT_ID, location=LOCATION)

# To find out which endpoints are available, un-comment the line below:
# endpoints = aiplatform.Endpoint.list()

endpoint = aiplatform.Endpoint(ENDPOINT_ID)
endpoint.delete()

gcloud

Nestes comandos, substitua:

  • PROJECT_ID com o nome do seu projeto
  • LOCATION_ID com a região onde implementou o modelo e o ponto final
  • ENDPOINT_ID com o ID de ponto final
  1. Obtenha o ID do ponto final a eliminar executando o comando gcloud ai endpoints list. Este comando lista os IDs dos pontos finais de todos os pontos finais no seu projeto.

    gcloud ai endpoints list \
        --project=PROJECT_ID \
        --region=LOCATION_ID
    
  2. Execute o comando gcloud ai endpoints delete para eliminar o ponto final.

    gcloud ai endpoints delete ENDPOINT_ID \
        --project=PROJECT_ID \
        --region=LOCATION_ID
    

    Quando lhe for pedido, escreva y para confirmar. Este comando não produz qualquer resultado.

Consola

  1. Na Google Cloud consola, aceda ao separador Pontos finais na página Previsão online.

    Aceda a Pontos finais

  2. Na lista pendente Região, escolha a região onde o seu ponto final está localizado.

  3. No final da linha do ponto final, clique em Ações e, de seguida, selecione Eliminar ponto final.

  4. No comando de confirmação, clique em Confirmar.

Eliminar modelos

Elimine o recurso de modelo associado à implementação do modelo.

Python

Para saber como instalar ou atualizar o SDK Vertex AI para Python, consulte o artigo Instale o SDK Vertex AI para Python. Para mais informações, consulte a Python documentação de referência da API.

No código, substitua:

  • PROJECT_ID com o ID do seu projeto
  • LOCATION com a sua região, por exemplo, "us-central1"
  • MODEL_ID com o ID do seu modelo
from google.cloud import aiplatform

aiplatform.init(project=PROJECT_ID, location=LOCATION)

# To find out which models are available in Model Registry, un-comment the line below:
# models = aiplatform.Model.list()

model = aiplatform.Model(MODEL_ID)
model.delete()

gcloud

Nestes comandos, substitua:

  • PROJECT_ID com o nome do seu projeto
  • LOCATION_ID com a região onde implementou o modelo e o ponto final
  • MODEL_ID com o ID do modelo do comando de modelo de lista
  1. Encontre o ID do modelo a eliminar executando o comando gcloud ai models list.

    gcloud ai models list \
        --project=PROJECT_ID \
        --region=LOCATION_ID
    
  2. Execute o comando gcloud ai models delete para eliminar o modelo indicando o ID do modelo e a localização do modelo.

    gcloud ai models delete MODEL_ID \
        --project=PROJECT_ID \
        --region=LOCATION_ID
    

Consola

  1. Aceda à página Registo de modelos na secção Vertex AI da Google Cloud consola.

    Aceda à página Registo de modelos

  2. Na lista pendente Região, escolha a região onde implementou o seu modelo.

  3. Na linha do seu modelo, clique em Ações e, de seguida, selecione Eliminar modelo.

    Quando elimina o modelo, todas as versões e avaliações de modelos associadas são eliminadas do seu Google Cloud projeto.

  4. Na mensagem de confirmação, clique em Eliminar.

Veja exemplos de código

A maioria dos cartões de modelos para modelos de soluções específicos de tarefas contém exemplos de código que pode copiar e testar.

  1. Na Google Cloud consola, aceda à página Model Garden.

    Aceda ao Model Garden

  2. Encontre um modelo suportado para o qual quer ver exemplos de código e clique no separador Documentação.

  3. A página é deslocada até à secção de documentação com código de exemplo incorporado.

Crie uma app de visão

Os cartões de modelos para modelos de visão computacional aplicáveis suportam a criação de uma aplicação de visão.

  1. Na Google Cloud consola, aceda à página Model Garden.

    Aceda ao Model Garden

  2. Encontre um modelo de visão na secção Soluções específicas de tarefas que quer usar para criar uma aplicação de visão e clique em Ver detalhes.

  3. Clique em Criar app.

    É direcionado para o Vertex AI Vision.

  4. Em Nome da aplicação, introduza um nome para a aplicação e clique em Continuar.

  5. Selecione um plano de faturação e clique em Criar.

    É direcionado para o Vertex AI Vision Studio, onde pode continuar a criar a sua aplicação de visão computacional.