Descubra, teste, ajuste e implante modelos usando o Model Garden no consoleGoogle Cloud . Também é possível implantar modelos do Model Garden usando a CLI do Google Cloud.
Enviar comandos de teste
No console Google Cloud , acesse a página Model Garden.
Encontre um modelo compatível que você queira testar e clique em Ver detalhes.
Clique em Abrir design de solicitação.
Você será direcionado à página Design do prompt.
Em Prompt, digite o prompt que você quer testar.
Opcional: configure os parâmetros do modelo.
Clique em Enviar.
Ajustar um modelo
No console Google Cloud , acesse a página Model Garden.
Em Pesquisar modelos, digite BERT ou T5-FLAN e clique na lupa.
Clique em Ver detalhes no card do modelo T5-FLAN ou BERT.
Clique em Abrir pipeline de ajuste.
Você será direcionado para a página de pipelines da Vertex AI.
Para iniciar o ajuste, clique em Criar execução.
Ajustar um notebook
Os cards de modelo para a maioria dos modelos básicos de código aberto e modelos ajustáveis são compatíveis com ajustes em um notebook.
No console Google Cloud , acesse a página Model Garden.
Encontre um modelo compatível que você quer ajustar e acesse o card dele.
Clique em Abrir notebook.
Implantar um modelo aberto
É possível implantar um modelo usando o card dele no console do Google Cloud ou de maneira programática.
Para mais informações sobre como configurar o SDK do Google Gen AI ou a CLI do Google Cloud, consulte a visão geral do SDK do Google Gen AI ou Instalar a CLI do Google Cloud.
SDK da Vertex AI para Python
Para saber como instalar o SDK da Vertex AI para Python, consulte Instalar o SDK da Vertex AI para Python. Saiba mais na documentação de referência da API SDK da Vertex AI para Python.
Liste os modelos que você pode implantar e registre o ID do modelo a ser implantado. Você pode listar os modelos Hugging Face com suporte no Model Garden e até mesmo filtrá-los por nome. A saída não inclui modelos ajustados.
Confira as especificações de implantação de um modelo usando o ID da etapa anterior. É possível conferir o tipo de máquina, o tipo de acelerador e o URI da imagem do contêiner que o Model Garden verificou para um modelo específico.
Implante um modelo em um endpoint. O Model Garden usa a configuração de implantação padrão, a menos que você especifique outros argumentos e valores.
gcloud
Antes de começar, especifique um projeto de cota para executar os comandos a seguir. Os comandos executados são contabilizados de acordo com as cotas desse projeto. Para mais informações, consulte Definir o projeto de cota.
Liste os modelos que podem ser implantados executando o comando
gcloud beta ai model-garden models list
. Esse comando lista todos os IDs de modelo e quais deles você pode implantar.gcloud beta ai model-garden models list
Na saída, encontre o ID do modelo a ser implantado. O exemplo a seguir mostra uma saída abreviada.
MODEL_ID SUPPORTS_DEPLOYMENT google/gemma2@gemma-2-27b Yes google/gemma2@gemma-2-27b-it Yes google/gemma2@gemma-2-2b Yes google/gemma2@gemma-2-2b-it Yes google/gemma2@gemma-2-9b Yes google/gemma2@gemma-2-9b-it Yes google/[email protected] Yes google/[email protected] Yes google/[email protected] Yes google/[email protected] Yes google/gemma@gemma-2b Yes google/gemma@gemma-2b-gg-hf Yes google/gemma@gemma-2b-it Yes google/gemma@gemma-2b-it-gg-hf Yes google/gemma@gemma-7b Yes google/gemma@gemma-7b-gg-hf Yes google/gemma@gemma-7b-it Yes google/gemma@gemma-7b-it-gg-hf Yes
A saída não inclui modelos ajustados ou modelos do Hugging Face. Para conferir quais modelos do Hugging Face são compatíveis, adicione a flag
--list-supported-hugging-face-models
.Para conferir as especificações de implantação de um modelo, execute o comando
gcloud beta ai model-garden models list-deployment-config
. É possível conferir o tipo de máquina, o tipo de acelerador e o URI da imagem do contêiner com suporte do Model Garden para um modelo específico.gcloud beta ai model-garden models list-deployment-config \ --model=MODEL_ID
Substitua MODEL_ID pelo ID do modelo do comando de lista anterior, como
google/gemma@gemma-2b
oustabilityai/stable-diffusion-xl-base-1.0
.Implante um modelo em um endpoint executando o comando
gcloud beta ai model-garden models deploy
. O Model Garden gera um nome de exibição para o endpoint e usa a configuração de implantação padrão, a menos que você especifique outros argumentos e valores.Para executar o comando de forma assíncrona, inclua a flag
--asynchronous
.gcloud beta 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
modelos do Hugging Face, use o formato de URL do modelo do Hugging Face, como
stabilityai/stable-diffusion-xl-base-1.0
. - MACHINE_TYPE: define o conjunto de recursos a serem implantado para o modelo, como
g2-standard-4
. - ACCELERATOR_TYPE: especifica os aceleradores a serem adicionados à implantação para melhorar o desempenho ao trabalhar com cargas de trabalho intensas, como
NVIDIA_L4
. - ENDPOINT_NAME: um nome para o endpoint da Vertex AI implantado.
- HF_ACCESS_TOKEN: para modelos do Hugging Face, se o modelo estiver bloqueado, forneça um token de acesso.
- RESERVATION_RESOURCE_NAME: para usar uma reserva do Compute Engine específica, especifique o nome da sua reserva. Se você especificar uma reserva específica, não será possível especificar
any-reservation
.
A saída inclui a configuração de implantação usada pelo Model Garden, o ID do endpoint e o ID da operação de implantação, que podem ser usados para verificar o status da implantaçã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
- MODEL_ID: o ID do modelo do comando de lista anterior. Para
modelos do Hugging Face, use o formato de URL do modelo do Hugging Face, como
Para conferir detalhes sobre a implantação, execute o comando
gcloud beta ai endpoints list --list-model-garden-endpoints-only
:gcloud beta ai endpoints list --list-model-garden-endpoints-only \ --region=LOCATION_ID
Substitua LOCATION_ID pela região em que você implantou o modelo.
A saída inclui todos os endpoints criados no Model Garden e informações como o ID, o nome e se o endpoint está associado a um modelo implantado. Para encontrar a implantação, procure o nome do endpoint retornado pelo comando anterior.
REST
Liste todos os modelos implantáveis e, em seguida, obtenha o ID do modelo a ser implantado. Em seguida, é possível implantar o modelo com a configuração e o endpoint padrão. Também é possível personalizar a implantação, como definir um tipo de máquina específico ou usar um endpoint dedicado.
1. Listar modelos que podem ser implantados
Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:
- PROJECT_ID: o ID do 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 comoalt=json&is_hf_wildcard(true)+AND+labels.VERIFIED_DEPLOYMENT_CONFIG%3DVERIFIED_DEPLOYMENT_SUCCEED&listAllVersions=True
.
Método HTTP e URL:
GET https://aiplatform.googleapis.com/v1beta1/publishers/*/models?QUERY_PARAMETERS
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)" \
-H "x-goog-user-project: PROJECT_ID" \
"https://aiplatform.googleapis.com/v1beta1/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://aiplatform.googleapis.com/v1beta1/publishers/*/models?QUERY_PARAMETERS" | Select-Object -Expand Content
Você vai receber uma resposta JSON semelhante a esta.
{ "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. Implantar um modelo
Implante um modelo do Model Garden ou do Hugging Face. Também é possível personalizar a implantação especificando outros campos JSON.
Implante um modelo com a configuração padrão.
Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:
- LOCATION: uma região em que o modelo é implantado.
- PROJECT_ID: o ID do projeto.
- MODEL_ID: o ID do modelo a ser implantado, que pode ser encontrado na lista de todos os modelos implantá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/v1beta1/projects/PROJECT_ID/locations/LOCATION:deploy
Corpo JSON da solicitação:
{ "publisher_model_name": "MODEL_ID", "model_config": { "accept_eula": "true" } }
Para enviar a solicitação, escolha uma destas opções:
curl
Salve o corpo da solicitação em um arquivo chamado request.json
.
Execute o comando a seguir no terminal para criar ou substituir
esse arquivo no diretório atual:
cat > request.json << 'EOF' { "publisher_model_name": "MODEL_ID", "model_config": { "accept_eula": "true" } } EOF
Depois execute o comando a seguir para enviar a solicitação 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/v1beta1/projects/PROJECT_ID/locations/LOCATION:deploy"
PowerShell
Salve o corpo da solicitação em um arquivo chamado request.json
.
Execute o comando a seguir no terminal para criar ou substituir
esse arquivo no diretório atual:
@' { "publisher_model_name": "MODEL_ID", "model_config": { "accept_eula": "true" } } '@ | Out-File -FilePath request.json -Encoding utf8
Depois execute o comando a seguir para enviar a solicitação 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/v1beta1/projects/PROJECT_ID/locations/LOCATION:deploy" | Select-Object -Expand Content
Você recebe uma resposta JSON semelhante a esta.
{ "name": "projects/PROJECT_ID/locations/LOCATION/operations/OPERATION_ID", "metadata": { "@type": "type.googleapis.com/google.cloud.aiplatform.v1beta1.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" } }
Implantar um modelo do Hugging Face
Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:
- LOCATION: uma região em que o modelo é implantado.
- PROJECT_ID: o ID do projeto.
- MODEL_ID: o ID do modelo do Hugging Face a ser implantado, que pode ser encontrado na lista de todos os modelos implantáveis. O ID usa o seguinte formato: PUBLISHER_NAME/MODEL_NAME.
- ACCESS_TOKEN: se o modelo estiver bloqueado, forneça um token de acesso.
Método HTTP e URL:
POST https://LOCATION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION:deploy
Corpo JSON da solicitação:
{ "hugging_face_model_id": "MODEL_ID", "hugging_face_access_token": "ACCESS_TOKEN", "model_config": { "accept_eula": "true" } }
Para enviar a solicitação, escolha uma destas opções:
curl
Salve o corpo da solicitação em um arquivo chamado request.json
.
Execute o comando a seguir no terminal para criar ou substituir
esse arquivo 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
Depois execute o comando a seguir para enviar a solicitação 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/v1beta1/projects/PROJECT_ID/locations/LOCATION:deploy"
PowerShell
Salve o corpo da solicitação em um arquivo chamado request.json
.
Execute o comando a seguir no terminal para criar ou substituir
esse arquivo 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
Depois execute o comando a seguir para enviar a solicitação 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/v1beta1/projects/PROJECT_ID/locations/LOCATION:deploy" | Select-Object -Expand Content
Você recebe uma resposta JSON semelhante a esta.
{ "name": "projects/PROJECT_ID/locations/us-central1LOCATION/operations/OPERATION_ID", "metadata": { "@type": "type.googleapis.com/google.cloud.aiplatform.v1beta1.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" } }
Implantar um modelo com personalizações
Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:
- LOCATION: uma região em que o modelo é implantado.
- PROJECT_ID: o ID do projeto.
- MODEL_ID: o ID do modelo a ser implantado, que pode ser encontrado na lista de todos os modelos implantáveis. O ID
usa o seguinte formato: publishers/PUBLISHER_NAME/models/
MODEL_NAME@MODEL_VERSION, como
google/gemma@gemma-2b
oustabilityai/stable-diffusion-xl-base-1.0
. - MACHINE_TYPE: define o conjunto de recursos a serem implantado para o modelo, como
g2-standard-4
. - ACCELERATOR_TYPE:
Especifica os aceleradores a serem adicionados à implantação para melhorar o desempenho
ao trabalhar com cargas de trabalho intensas, como
NVIDIA_L4
- ACCELERATOR_COUNT: o número de aceleradores a serem usados na implantação.
reservation_affinity_type
: para usar uma reserva do Compute Engine existente na sua implantação, especifique uma reserva específica ou qualquer reserva. Se você especificar esse valor, não especifiquespot
.spot
: se é necessário usar VMs do Spot para a implantação.- IMAGE_URI: o local da
imagem do contêiner a ser usada, como
us-docker.pkg.dev/vertex-ai/vertex-vision-model-garden-dockers/pytorch-vllm-serve:20241016_0916_RC00_maas
. - CONTAINER_ARGS: argumentos transmitidos ao contêiner durante a implantação.
- CONTAINER_PORT: um número de porta para o contêiner.
fast_tryout_enabled
: ao testar um modelo, você pode usar uma implantação mais rápida. Essa opção está disponível apenas para os modelos mais usados com determinados tipos de máquina. Se ativada, não é possível especificar configurações de modelo ou de implantação.
Método HTTP e URL:
POST https://LOCATION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION:deploy
Corpo JSON da solicitação:
{ "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 a solicitação, escolha uma destas opções:
curl
Salve o corpo da solicitação em um arquivo chamado request.json
.
Execute o comando a seguir no terminal para criar ou substituir
esse arquivo 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
Depois execute o comando a seguir para enviar a solicitação 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/v1beta1/projects/PROJECT_ID/locations/LOCATION:deploy"
PowerShell
Salve o corpo da solicitação em um arquivo chamado request.json
.
Execute o comando a seguir no terminal para criar ou substituir
esse arquivo 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
Depois execute o comando a seguir para enviar a solicitação 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/v1beta1/projects/PROJECT_ID/locations/LOCATION:deploy" | Select-Object -Expand Content
Você vai receber uma resposta JSON semelhante a esta.
{ "name": "projects/PROJECT_ID/locations/LOCATION/operations/OPERATION_ID", "metadata": { "@type": "type.googleapis.com/google.cloud.aiplatform.v1beta1.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" } }
Console
No console Google Cloud , acesse a página Model Garden.
Encontre um modelo com suporte que você quer implantar e clique no card dele.
Clique em Implantar para abrir o painel Implantar modelo.
No painel Implantar modelo, especifique os detalhes da implantação.
- Use ou modifique os nomes do modelo e do endpoint gerados.
- Selecione um local para criar o endpoint do modelo.
- Selecione um tipo de máquina para cada nó da implantação.
Para usar uma reserva do Compute Engine, na seção Deployment settings, selecione Advanced.
Selecione um tipo de reserva no campo Tipo de reserva. A reserva precisa corresponder às especificações da máquina selecionada.
- 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, a Vertex AI vai usar o pool de recursos Google Cloudgeral.
- Selecionar reservas específicas: a Vertex AI usa uma reserva específica. Se não houver capacidade para a reserva selecionada, um erro será gerado.
- Não usar (padrão): a Vertex AI usa o conjunto de recursosGoogle Cloud geral. Esse valor tem o mesmo efeito que não especificar uma reserva.
Clique em Implantar.
Implantar um modelo do parceiro e fazer solicitações de previsão
Antes de começar, você precisa ter um contrato com o parceiro. Esse acordo inclui a concordância com os termos e os requisitos de licenciamento específicos do parceiro e os preços. Para mais informações ou para entrar em contato com um parceiro, consulte a documentação do parceiro no card de modelo do Model Garden e clique em Contatar vendas.
É necessário implantar nos tipos de máquina necessários do parceiro, conforme descrito na seção "Configuração de hardware recomendada" do card de modelo do Model Garden. Quando implantados, os recursos de veiculação do modelo ficam em um projeto seguro gerenciado pelo Google.
SDK da Vertex AI para Python
Para saber como instalar o SDK da Vertex AI para Python, consulte Instalar o SDK da Vertex AI para Python. Saiba mais na documentação de referência da API SDK da Vertex AI para Python.
No código, substitua os seguintes marcadores:
- LOCATION: a região em que você planeja implantar o modelo e o endpoint.
- PROJECT_ID: o ID do projeto.
- DISPLAY_NAME: um nome descritivo para o recurso associado.
- PUBLISHER_NAME: o nome do parceiro que fornece o modelo para upload ou implantação.
- PUBLISHER_MODEL_NAME: o nome do modelo a ser enviado.
- MACHINE_TYPE: define o conjunto de recursos a serem implantado para o modelo, como
g2-standard-4
. Você precisa corresponder a uma das configurações fornecidas pelo parceiro. - ACCELERATOR_TYPE: especifica os aceleradores a serem adicionados à implantação
para ajudar a melhorar o desempenho ao trabalhar com cargas de trabalho intensas, como
NVIDIA_L4
. Você precisa corresponder a uma das configurações fornecidas pelo parceiro. - ACCELERATOR_COUNT: o número de aceleradores a serem usados. É necessário corresponder a uma das configurações fornecidas pelo parceiro.
- REQUEST_PAYLOAD: os campos e valores a serem incluídos na solicitação de previsão. Confira o card de 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
Liste todos os modelos implantáveis e, em seguida, obtenha o ID do modelo a ser implantado. Em seguida, é possível implantar o modelo com a configuração e o endpoint padrão. Também é possível personalizar a implantação, como definir um tipo de máquina específico ou usar um endpoint dedicado.
Nos comandos de curl de exemplo, substitua os seguintes marcadores:
- LOCATION: a região em que você planeja implantar o modelo e o endpoint.
- PROJECT_ID: o ID do projeto.
- DISPLAY_NAME: um nome descritivo para o recurso associado.
- PUBLISHER_NAME: o nome do parceiro que fornece o modelo para upload ou implantação.
- PUBLISHER_MODEL_NAME: o nome do modelo a ser enviado.
- ENDPOINT_ID: o ID do endpoint.
- MACHINE_TYPE: define o conjunto de recursos a serem implantado para o modelo, como
g2-standard-4
. Você precisa corresponder a uma das configurações fornecidas pelo parceiro. - ACCELERATOR_TYPE: especifica os aceleradores a serem adicionados à implantação
para ajudar a melhorar o desempenho ao trabalhar com cargas de trabalho intensas, como
NVIDIA_L4
. Você precisa corresponder a uma das configurações fornecidas pelo parceiro. - ACCELERATOR_COUNT: o número de aceleradores a serem usados. É necessário corresponder a uma das configurações fornecidas pelo parceiro.
- REQUEST_PAYLOAD: os campos e valores a serem incluídos na solicitação de previsão. Confira o card de modelo do Model Garden do parceiro para ver os campos disponíveis.
Faça upload de um modelo para adicioná-lo ao Model Registry.
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", } } } }'
Crie um endpoint
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" }'
Implante o modelo enviado no endpoint.
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 } }'
Depois que o modelo for implantado, você poderá fazer uma chamada unária ou de streaming para previsões. Confira o card de modelo do Model Garden do parceiro para saber quais métodos de API são aceitos.
- 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'
Console
No console Google Cloud , acesse a página Model Garden.
Para encontrar um modelo específico, digite o nome dele na caixa de pesquisa do Model Garden.
Para conferir todos os modelos que podem ser implantados por conta própria, selecione Modelos de parceiros para autoimplantação na seção Coleções de modelos do painel de filtros. A lista resultante inclui todos os modelos de parceiros autoimplantáveis.
Clique no nome do modelo a ser implantado para abrir o card dele.
Clique em Opções de implantação.
No painel Deploy on Vertex AI, configure a implantação, como o local e o tipo de máquina.
Clique em Implantar.
Depois que a implantação for concluída, você poderá solicitar previsões usando o SDK ou a API. Há outras instruções disponíveis na seção "Documentação" do card do modelo.
Desfazer a implantação de modelos e excluir recursos
Para impedir que um modelo implantado use recursos no projeto, remova a implantação do modelo do endpoint. É necessário cancelar a implantação de um modelo antes de excluir o endpoint e o modelo.
Cancelar implantação do modelo
Desimplantar um modelo do endpoint.
SDK da Vertex AI para Python
Para saber como instalar o SDK da Vertex AI para Python, consulte Instalar o SDK da Vertex AI para Python. Saiba mais na documentação de referência da API SDK da Vertex AI para Python.
No código, substitua:
- PROJECT_ID pelo ID do projeto;
- LOCATION com sua região, por exemplo, "us-central1"
- ENDPOINT_ID pelo ID do endpoint
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
Nesses comandos, substitua:
- PROJECT_ID pelo nome do projeto;
- LOCATION_ID pela região em que você implantou o modelo e o endpoint
- ENDPOINT_ID com o ID do endpoint
- MODEL_ID com o ID do modelo do comando "list model"
- DEPLOYED_MODEL_ID pelo ID do modelo implantado
Encontre o ID do endpoint associado à sua implantação executando o comando
gcloud ai endpoints list
.gcloud ai endpoints list \ --project=PROJECT_ID \ --region=LOCATION_ID
Encontre o ID do modelo executando o comando
gcloud ai models list
.gcloud ai models list \ --project=PROJECT_ID \ --region=LOCATION_ID
Use o ID do modelo do comando anterior para conferir o ID do modelo implantado executando o comando
gcloud ai models describe
.gcloud ai models describe MODEL_ID \ --project=PROJECT_ID \ --region=LOCATION_ID
O resultado abreviado tem a aparência do exemplo a seguir. Na saída, o ID é chamado de
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 ...
Execute o comando
gcloud ai endpoints undeploy-model
para desimplantar o modelo do endpoint usando o ID do endpoint e o ID do modelo implantado dos comandos anteriores.gcloud ai endpoints undeploy-model ENDPOINT_ID \ --project=PROJECT_ID \ --region=LOCATION_ID \ --deployed-model-id=DEPLOYED_MODEL_ID
Esse comando não produz saída.
Console
No console do Google Cloud , acesse a guia Endpoints na página Previsão on-line.
Na lista suspensa Região, escolha a região em que o endpoint está localizado.
Clique no nome do endpoint para abrir a página de detalhes.
Na linha do modelo, clique em
Ações e selecione Desimplantar o modelo do endpoint.Na caixa de diálogo Cancelar a implantação do modelo do endpoint, clique em Cancelar a implantação.
Excluir endpoints
Exclua o endpoint da Vertex AI associado à implantação do modelo.
SDK da Vertex AI para Python
Para saber como instalar o SDK da Vertex AI para Python, consulte Instalar o SDK da Vertex AI para Python. Saiba mais na documentação de referência da API SDK da Vertex AI para Python.
No código, substitua:
- PROJECT_ID pelo ID do projeto;
- LOCATION com sua região, por exemplo, "us-central1"
- ENDPOINT_ID pelo ID do endpoint
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
Nesses comandos, substitua:- PROJECT_ID pelo nome do projeto;
- LOCATION_ID pela região em que você implantou o modelo e o endpoint
- ENDPOINT_ID com o ID do endpoint
Para excluir um endpoint, execute o comando
gcloud ai endpoints list
e confira o ID dele. Esse comando lista os IDs de todos os endpoints no seu projeto.gcloud ai endpoints list \ --project=PROJECT_ID \ --region=LOCATION_ID
Execute o comando
gcloud ai endpoints delete
para excluir o endpoint.gcloud ai endpoints delete ENDPOINT_ID \ --project=PROJECT_ID \ --region=LOCATION_ID
Quando solicitado, digite
y
para confirmar. Esse comando não produz saída.
Console
No console do Google Cloud , acesse a guia Endpoints na página Previsão on-line.
Na lista suspensa Região, escolha a região em que o endpoint está localizado.
No final da linha do endpoint, clique em
Ações e selecione Excluir endpoint.No prompt de confirmação, clique em Confirmar.
Excluir modelos
Exclua o recurso de modelo associado à implantação.
SDK da Vertex AI para Python
Para saber como instalar o SDK da Vertex AI para Python, consulte Instalar o SDK da Vertex AI para Python. Saiba mais na documentação de referência da API SDK da Vertex AI para Python.
No código, substitua:
- PROJECT_ID pelo ID do projeto;
- LOCATION com sua região, por exemplo, "us-central1"
- MODEL_ID pelo ID do 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
Nesses comandos, substitua:- PROJECT_ID pelo nome do projeto;
- LOCATION_ID pela região em que você implantou o modelo e o endpoint
- MODEL_ID com o ID do modelo do comando "list model"
Encontre o ID do modelo a ser excluído executando o comando
gcloud ai models list
.gcloud ai models list \ --project=PROJECT_ID \ --region=LOCATION_ID
Execute o comando
gcloud ai models delete
para excluir o modelo fornecendo o ID e o local do modelo.gcloud ai models delete MODEL_ID \ --project=PROJECT_ID \ --region=LOCATION_ID
Console
Acesse a página Registro do modelo na seção "Vertex AI" do console Google Cloud .
Na lista suspensa Região, escolha a região em que você implantou o modelo.
Na linha do modelo, clique em
Ações e selecione Excluir modelo.Quando você exclui o modelo, todas as versões e avaliações de modelo associadas são excluídas do projeto Google Cloud .
No aviso de confirmação, clique em Excluir.
Confira exemplos de código
A maioria dos cartões de modelos de soluções específicas de tarefas contém amostras de código que podem ser copiadas e testadas.
No console Google Cloud , acesse a página Model Garden.
Encontre um modelo compatível para ver amostras de código e clique na guia Documentação.
A página rola para a seção de documentação com o código de amostra incorporado.
Criar um app Vision
Os cartões para modelos de visão computacional aplicáveis são compatíveis com a criação de um aplicativo de visão.
No console Google Cloud , acesse a página Model Garden.
Na seção "Soluções específicas para tarefas", encontre um modelo de visão que você queira usar para criar um aplicativo de visão e clique em Visualizar detalhes.
Clique em Criar app.
Você será levado à Vertex AI Vision.
Em Nome do aplicativo, insira um nome para seu aplicativo e clique em Continuar.
Selecione um plano de faturamento e clique em Criar.
Você será levado ao Vertex AI Vision Studio, onde poderá continuar criando seu aplicativo de visão computacional.