Utilizzare i modelli in Model Garden

Scopri, testa, ottimizza ed esegui il deployment dei modelli utilizzando Model Garden nella Google Cloud console. Puoi anche eseguire il deployment dei modelli di Model Garden utilizzando la CLI Google Cloud.

Inviare prompt di test

  1. Nella Google Cloud console, vai alla pagina Model Garden.

    Vai a Model Garden

  2. Trova un modello supportato che vuoi testare e fai clic su Visualizza dettagli.

  3. Fai clic su Apri progettazione prompt.

    Viene visualizzata la pagina Design del prompt.

  4. In Prompt, inserisci il prompt che vuoi testare.

  5. (Facoltativo) Configura i parametri del modello.

  6. Fai clic su Invia.

Ottimizza un modello

  1. Nella Google Cloud console, vai alla pagina Model Garden.

    Vai a Model Garden

  2. In Modelli di ricerca, inserisci BERT o T5-FLAN, quindi fai clic sulla lente d'ingrandimento per eseguire la ricerca.

  3. Fai clic su Visualizza dettagli nella scheda del modello T5-FLAN o BERT.

  4. Fai clic su Apri pipeline di ottimizzazione.

    Viene visualizzata la pagina delle pipeline Vertex AI.

  5. Per iniziare la regolazione, fai clic su Crea esecuzione.

Sintonizzarsi su un notebook

Le schede dei modelli per la maggior parte dei modelli di base open source e dei modelli ottimizzabili supportano l'ottimizzazione in un notebook.

  1. Nella Google Cloud console, vai alla pagina Model Garden.

    Vai a Model Garden

  2. Trova un modello supportato che vuoi ottimizzare e vai alla relativa scheda.

  3. Fai clic su Apri notebook.

Esegui il deployment di un modello aperto

Puoi eseguire il deployment di un modello utilizzando la relativa scheda nella Google Cloud console o programmaticamente.

Per ulteriori informazioni sulla configurazione dell'SDK Google Gen AI o di Google Cloud CLI, consulta la panoramica dell'SDK Google Gen AI o Installa Google Cloud CLI.

SDK Vertex AI per Python

Per scoprire come installare o aggiornare l'SDK Vertex AI per Python, consulta Installare l'SDK Vertex AI per Python. Per ulteriori informazioni, consulta la Documentazione di riferimento dell'API Vertex AI SDK per Python.

  1. Elenca i modelli che puoi eseguire e registra l'ID del modello da eseguire. Se vuoi, puoi elencare i modelli Hugging Face supportati in Model Garden e persino filtrarli in base ai nomi dei modelli. L'output non include modelli ottimizzati.

    
    import vertexai
    from vertexai.preview 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. Visualizza le specifiche di deployment di un modello utilizzando l'ID del modello del passaggio precedente. Puoi visualizzare il tipo di macchina, il tipo di acceleratore e l'URI dell'immagine del contenitore che Model Garden ha verificato per un determinato modello.

    
    import vertexai
    from vertexai.preview 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. Esegui il deployment di un modello in un endpoint. Model Garden utilizza la configurazione di deployment predefinita, a meno che non specifichi altri argomenti e valori.

    
    import vertexai
    from vertexai.preview 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

Prima di iniziare, specifica un progetto quota per eseguire i seguenti comandi. I comandi eseguiti vengono conteggiati in base alle quote del progetto. Per ulteriori informazioni, consulta Impostare il progetto quota.

  1. Elenca i modelli che puoi implementare eseguendo il comando gcloud beta ai model-garden models list. Questo comando elenca tutti gli ID modello e quelli che puoi eseguire autonomamente.

    gcloud beta ai model-garden models list
    

    Nell'output, individua l'ID modello da eseguire. L'esempio seguente mostra un output abbreviato.

    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
    

    L'output non include modelli ottimizzati o modelli Hugging Face. Per visualizzare i modelli Hugging Face supportati, aggiungi il flag --list-supported-hugging-face-models.

  2. Per visualizzare le specifiche di deployment di un modello, esegui il comando gcloud beta ai model-garden models list-deployment-config. Puoi visualizzare il tipo di macchina, il tipo di acceleratore e l'URI dell'immagine del contenitore supportati da Model Garden per un determinato modello.

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

    Sostituisci MODEL_ID con l'ID modello del comando list precedente, ad esempio google/gemma@gemma-2b o stabilityai/stable-diffusion-xl-base-1.0.

  3. Esegui il deployment di un modello in un endpoint eseguendo il comando gcloud beta ai model-garden models deploy. Model Garden genera un nome visualizzato per il tuo endpoint e utilizza la configurazione di deployment predefinita, a meno che non specifichi altri argomenti e valori.

    Per eseguire il comando in modo asincrono, includi il 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]
    

    Sostituisci i seguenti segnaposto:

    • MODEL_ID: l'ID modello del comando di elenco precedente. Per i modelli Hugging Face, utilizza il formato dell'URL del modello Hugging Face, ad esempiostabilityai/stable-diffusion-xl-base-1.0.
    • MACHINE_TYPE: definisce l'insieme di risorse da eseguire per il tuo modello, ad esempio g2-standard-4.
    • ACCELERATOR_TYPE: specifica gli acceleratori da aggiungere al deployment per contribuire a migliorare le prestazioni quando si utilizzano carichi di lavoro intensi, come NVIDIA_L4.
    • ENDPOINT_NAME: un nome per l'endpoint Vertex AI di cui è stato eseguito il deployment.
    • HF_ACCESS_TOKEN: per i modelli Hugging Face, se il modello è sottoposto a limitazioni, fornisci un token di accesso.
    • RESERVATION_RESOURCE_NAME: per utilizzare una prenotazione Compute Engine specifica, specifica il nome della prenotazione. Se specifichi una prenotazione specifica, non puoi specificare any-reservation.

    L'output include la configurazione di deployment utilizzata da Model Garden, l'ID endpoint e l'ID operazione di deployment, che puoi utilizzare per verificare lo stato del deployment.

    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. Per visualizzare i dettagli del deployment, esegui il comando gcloud beta ai endpoints list --list-model-garden-endpoints-only:

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

    Sostituisci LOCATION_ID con la regione in cui hai eseguito il deployment del modello.

    L'output include tutti gli endpoint creati da Model Garden e informazioni quali l'ID endpoint, nome dell'endpoint e se l'endpoint è associato a un modello di cui è stato eseguito il deployment. Per trovare il tuo deployment, cerca il nome dell'endpoint restituito dal comando precedente.

REST

Elenca tutti i modelli di cui è possibile eseguire il deployment, quindi ottieni l'ID del modello di cui vuoi eseguire il deployment. Puoi quindi eseguire il deployment del modello con la configurazione e l'endpoint predefiniti. In alternativa, puoi scegliere di personalizzare il deployment, ad esempio impostando un tipo di macchina specifico o utilizzando un endpoint dedicato.

1. Elenca i modelli che puoi implementare

Prima di utilizzare i dati della richiesta, apporta le seguenti sostituzioni:

  • PROJECT_ID: il tuo ID progetto.
  • QUERY_PARAMETERS: per elencare i modelli di Model Garden, aggiungere i seguenti parametri di query listAllVersions=True&filter=is_deployable(true). Per elencare i modelli Hugging Face, imposta il filtro su alt=json&is_hf_wildcard(true)+AND+labels.VERIFIED_DEPLOYMENT_CONFIG%3DVERIFIED_DEPLOYMENT_SUCCEED&listAllVersions=True.

Metodo HTTP e URL:

GET https://aiplatform.googleapis.com/v1beta1/publishers/*/models?QUERY_PARAMETERS

Per inviare la richiesta, scegli una delle seguenti opzioni:

curl

Esegui questo 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

Esegui questo 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

Riceverai una risposta JSON simile alla seguente.

{
  "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. Esegui il deployment di un modello

Esegui il deployment di un modello di Model Garden o di un modello di Hugging Face. Puoi anche personalizzare il deployment specificando campi JSON aggiuntivi.

Esegui il deployment di un modello con la relativa configurazione predefinita.

Prima di utilizzare i dati della richiesta, apporta le seguenti sostituzioni:

  • LOCATION: una regione in cui è stato eseguito il deployment del modello.
  • PROJECT_ID: il tuo ID progetto.
  • MODEL_ID: l'ID del modello da eseguire il deployment, che puoi ottenere dall'elenco di tutti i modelli di cui è possibile eseguire il deployment. L'ID utilizza il seguente formato: publishers/PUBLISHER_NAME/models/ MODEL_NAME@MODEL_VERSION.

Metodo HTTP e URL:

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

Corpo JSON della richiesta:

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

Per inviare la richiesta, scegli una delle seguenti opzioni:

curl

Salva il corpo della richiesta in un file denominato request.json. Esegui questo comando nel terminale per creare o sovrascrivere questo file nella directory corrente:

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

Quindi, esegui il seguente comando per inviare la richiesta 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

Salva il corpo della richiesta in un file denominato request.json. Esegui questo comando nel terminale per creare o sovrascrivere questo file nella directory corrente:

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

Quindi, esegui il seguente comando per inviare la richiesta 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

Riceverai una risposta JSON simile alla seguente.

{
  "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"
  }
}

Esegui il deployment di un modello Hugging Face

Prima di utilizzare i dati della richiesta, apporta le seguenti sostituzioni:

  • LOCATION: una regione in cui è stato eseguito il deployment del modello.
  • PROJECT_ID: il tuo ID progetto.
  • MODEL_ID: l'ID del modello Hugging Face da eseguire, che puoi ottenere dall'elenco di tutti i modelli di cui è possibile eseguire il deployment. L'ID utilizza il seguente formato: PUBLISHER_NAME/MODEL_NAME.
  • ACCESS_TOKEN: se il modello è protetto, fornisci un token di accesso.

Metodo HTTP e URL:

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

Corpo JSON della richiesta:

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

Per inviare la richiesta, scegli una delle seguenti opzioni:

curl

Salva il corpo della richiesta in un file denominato request.json. Esegui questo comando nel terminale per creare o sovrascrivere questo file nella directory corrente:

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

Quindi, esegui il seguente comando per inviare la richiesta 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

Salva il corpo della richiesta in un file denominato request.json. Esegui questo comando nel terminale per creare o sovrascrivere questo file nella directory corrente:

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

Quindi, esegui il seguente comando per inviare la richiesta 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

Riceverai una risposta JSON simile alla seguente.

{
  "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"
  }
}

Esegui il deployment di un modello con personalizzazioni

Prima di utilizzare i dati della richiesta, apporta le seguenti sostituzioni:

  • LOCATION: una regione in cui è stato eseguito il deployment del modello.
  • PROJECT_ID: il tuo ID progetto.
  • MODEL_ID: l'ID del modello da eseguire il deployment, che puoi ottenere dall'elenco di tutti i modelli di cui è possibile eseguire il deployment. L'ID utilizza il seguente formato: publishers/PUBLISHER_NAME/models/ MODEL_NAME@MODEL_VERSION, ad esempio google/gemma@gemma-2b o stabilityai/stable-diffusion-xl-base-1.0.
  • MACHINE_TYPE: definisce l'insieme di risorse da implementare per il modello, ad esempio g2-standard-4.
  • ACCELERATOR_TYPE: specifica gli acceleratori da aggiungere al deployment per contribuire a migliorare le prestazioni quando si lavora con carichi di lavoro intensi, come NVIDIA_L4
  • ACCELERATOR_COUNT: il numero di acceleratori da utilizzare nel deployment.
  • reservation_affinity_type: per utilizzare una prenotazione Compute Engine esistente per il tuo deployment, specifica una prenotazione qualsiasi o una specifica. Se specifichi questo valore, non specificare spot.
  • spot: indica se utilizzare VM spot per il deployment.
  • IMAGE_URI: la posizione dell'immagine del contenitore da utilizzare, ad esempio us-docker.pkg.dev/vertex-ai/vertex-vision-model-garden-dockers/pytorch-vllm-serve:20241016_0916_RC00_maas
  • CONTAINER_ARGS: argomenti da passare al container durante il deployment.
  • CONTAINER_PORT: un numero di porta per il contenitore.
  • fast_tryout_enabled: quando testi un modello, puoi scegliere di utilizzare un deployment più rapido. Questa opzione è disponibile solo per i modelli molto utilizzati con determinati tipi di macchine. Se questa opzione è attivata, non puoi specificare configurazioni di modelli o di deployment.

Metodo HTTP e URL:

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

Corpo JSON della richiesta:

{
  "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
  },
}

Per inviare la richiesta, scegli una delle seguenti opzioni:

curl

Salva il corpo della richiesta in un file denominato request.json. Esegui questo comando nel terminale per creare o sovrascrivere questo file nella directory corrente:

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

Quindi, esegui il seguente comando per inviare la richiesta 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

Salva il corpo della richiesta in un file denominato request.json. Esegui questo comando nel terminale per creare o sovrascrivere questo file nella directory corrente:

@'
{
  "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

Quindi, esegui il seguente comando per inviare la richiesta 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

Riceverai una risposta JSON simile alla seguente.

{
  "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

  1. Nella Google Cloud console, vai alla pagina Model Garden.

    Vai a Model Garden

  2. Trova un modello supportato di cui vuoi eseguire il deployment e fai clic sulla relativa scheda.

  3. Fai clic su Esegui il deployment per aprire il riquadro Esegui il deployment del modello.

  4. Nel riquadro Esegui il deployment del modello, specifica i dettagli del deployment.

    1. Utilizza o modifica i nomi del modello e dell'endpoint generati.
    2. Seleziona una località in cui creare l'endpoint del modello.
    3. Seleziona un tipo di macchina da utilizzare per ogni nodo del deployment.
    4. Per utilizzare una prenotazione Compute Engine, seleziona Avanzate nella sezione Impostazioni di deployment.

      Per il campo Tipo di prenotazione, seleziona un tipo di prenotazione. La prenotazione deve corrispondere alle specifiche della macchina specificate.

      • Utilizza automaticamente la prenotazione creata: Vertex AI selezionerà automaticamente una prenotazione consentita con proprietà corrispondenti. Se la prenotazione selezionata automaticamente non ha capacità, Vertex AI utilizza il pool di risorse Google Cloud generale.
      • Seleziona prenotazioni specifiche: Vertex AI utilizza una prenotazione specifica. Se non è disponibile la capacità per la prenotazione selezionata, viene generato un errore.
      • Non utilizzare (valore predefinito): Vertex AI utilizza il pool di risorseGoogle Cloud generale. Questo valore ha lo stesso effetto di non specificare una prenotazione.
  5. Fai clic su Esegui il deployment.

Esegui il deployment di un modello di un partner ed effettua richieste di previsione

Prima di iniziare, devi avere un contratto con il partner. Questo contratto include l'accettazione di eventuali termini e requisiti di licenza e prezzi specifici del partner. Per ulteriori informazioni o per contattare un partner, consulta la documentazione del partner nella scheda del modello di Model Garden e fai clic su Contatta il team di vendita.

Devi eseguire il deployment sui tipi di macchine richiesti dal partner, come descritto nella sezione "Configurazione hardware consigliata" della scheda del modello di Model Garden. Una volta dipiegato, le risorse di erogazione del modello si trovano in un progetto gestito da Google sicuro.

SDK Vertex AI per Python

Per scoprire come installare o aggiornare l'SDK Vertex AI per Python, consulta Installare l'SDK Vertex AI per Python. Per ulteriori informazioni, consulta la Documentazione di riferimento dell'API Vertex AI SDK per Python.

Nel codice, sostituisci i seguenti segnaposto:

  • LOCATION: la regione in cui prevedi di eseguire il deployment del modello e dell'endpoint.
  • PROJECT_ID: il tuo ID progetto.
  • DISPLAY_NAME: un nome descrittivo per la risorsa associata.
  • PUBLISHER_NAME: il nome del partner che fornisce il modello da caricare o implementare.
  • PUBLISHER_MODEL_NAME: il nome del modello da caricare.
  • MACHINE_TYPE: definisce l'insieme di risorse da eseguire per il tuo modello, ad esempio g2-standard-4. Devi corrispondere a una delle configurazioni fornite dal partner.
  • ACCELERATOR_TYPE: specifica gli acceleratori da aggiungere al deployment per contribuire a migliorare le prestazioni quando si utilizzano carichi di lavoro intensi, come NVIDIA_L4. Devi corrispondere a una delle configurazioni fornite dal partner.
  • ACCELERATOR_COUNT: il numero di acceleratori da utilizzare. Devi corrispondere a una delle configurazioni fornite dal partner.
  • REQUEST_PAYLOAD: i campi e i valori da includere nella richiesta di previsione. Visualizza la scheda del modello di Model Garden del partner per vedere i campi disponibili.
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

Elenca tutti i modelli di cui è possibile eseguire il deployment, quindi ottieni l'ID del modello di cui vuoi eseguire il deployment. Puoi quindi eseguire il deployment del modello con la configurazione e l'endpoint predefiniti. In alternativa, puoi scegliere di personalizzare il deployment, ad esempio impostando un tipo di macchina specifico o utilizzando un endpoint dedicato.

Nei comandi curl di esempio, sostituisci i seguenti segnaposto:

  • LOCATION: la regione in cui prevedi di eseguire il deployment del modello e dell'endpoint.
  • PROJECT_ID: il tuo ID progetto.
  • DISPLAY_NAME: un nome descrittivo per la risorsa associata.
  • PUBLISHER_NAME: il nome del partner che fornisce il modello da caricare o implementare.
  • PUBLISHER_MODEL_NAME: il nome del modello da caricare.
  • ENDPOINT_ID: l'ID dell'endpoint.
  • MACHINE_TYPE: definisce l'insieme di risorse da eseguire per il tuo modello, ad esempio g2-standard-4. Devi corrispondere a una delle configurazioni fornite dal partner.
  • ACCELERATOR_TYPE: specifica gli acceleratori da aggiungere al deployment per contribuire a migliorare le prestazioni quando si utilizzano carichi di lavoro intensi, come NVIDIA_L4. Devi corrispondere a una delle configurazioni fornite dal partner.
  • ACCELERATOR_COUNT: il numero di acceleratori da utilizzare. Devi corrispondere a una delle configurazioni fornite dal partner.
  • REQUEST_PAYLOAD: i campi e i valori da includere nella richiesta di previsione. Visualizza la scheda del modello di Model Garden del partner per vedere i campi disponibili.
  1. Carica un modello per aggiungerlo al tuo 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",
          }
        }
      }
    }'
    
  2. Crea un 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"
    }'
    
  3. Esegui il deployment del modello caricato nell'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
      }
    }'
    
  4. Dopo aver eseguito il deployment del modello, puoi effettuare una chiamata unaria o in streaming per le previsioni. Visualizza la scheda del modello di Model Garden del partner per vedere quali metodi dell'API sono supportati.

    • Esempio di chiamata unaria:
    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'
    
    • Chiamate in streaming di esempio:
    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

  1. Nella Google Cloud console, vai alla pagina Model Garden.

    Vai a Model Garden

  2. Per trovare un modello specifico, inserisci il nome nella casella di ricerca di Model Garden.

  3. Per visualizzare tutti i modelli che puoi implementare autonomamente, seleziona Modelli di partner con deployment autonomo nella sezione Raccolte di modelli del riquadro dei filtri. L'elenco risultante include tutti i modelli partner di cui è possibile eseguire il deployment autonomo.

  4. Fai clic sul nome del modello da eseguire il deployment, per aprire la relativa scheda.

  5. Fai clic su Opzioni di deployment.

  6. Nel riquadro Esegui il deployment su Vertex AI, configura il deployment, ad esempio la posizione e il tipo di macchina.

  7. Fai clic su Esegui il deployment.

Al termine del deployment, puoi richiedere le previsioni utilizzando l'SDK o l'API. Istruzioni aggiuntive sono disponibili nella sezione "Documentazione" della scheda del modello.

Annullare il deployment dei modelli ed eliminare le risorse

Per impedire a un modello di cui è stato eseguito il deployment di utilizzare le risorse del progetto, annulla il deployment del modello dall'endpoint. Devi annullare il deployment di un modello prima di poter eliminare l'endpoint e il modello.

Annullamento deployment modelli

Annullare il deployment di un modello dal relativo endpoint.

SDK Vertex AI per Python

Per scoprire come installare o aggiornare l'SDK Vertex AI per Python, consulta Installare l'SDK Vertex AI per Python. Per ulteriori informazioni, consulta la Documentazione di riferimento dell'API Vertex AI SDK per Python.

Nel codice, sostituisci:

  • PROJECT_ID con l'ID del tuo progetto
  • LOCATION con la tua regione, ad esempio "us-central1"
  • ENDPOINT_ID con il tuo ID 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

In questi comandi, sostituisci:

  • PROJECT_ID con il nome del progetto
  • LOCATION_ID con la regione in cui hai eseguito il deployment del modello e dell'endpoint
  • ENDPOINT_ID con l'ID endpoint
  • MODEL_ID con l'ID modello del comando list model
  • DEPLOYED_MODEL_ID con l'ID modello di cui è stato eseguito il deployment
  1. Trova l'ID endpoint associato al tuo deployment eseguendo il comando gcloud ai endpoints list.

    gcloud ai endpoints list \
        --project=PROJECT_ID \
        --region=LOCATION_ID
    
  2. Trova l'ID modello eseguendo il comando gcloud ai models list.

    gcloud ai models list \
        --project=PROJECT_ID \
        --region=LOCATION_ID
    
  3. Utilizza l'ID modello del comando precedente per ottenere l'ID modello di cui è stato eseguito il deployment eseguendo il comando gcloud ai models describe.

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

    L'output abbreviato è simile all'esempio seguente. Nell'output, l'ID è chiamato 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. Esegui il comando gcloud ai endpoints undeploy-model per annullare il deployment del modello dall'endpoint utilizzando l'ID endpoint e l'ID del modello di cui è stato eseguito il deployment dai comandi precedenti.

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

    Questo comando non produce alcun output.

Console

  1. Nella Google Cloud console, vai alla scheda Endpoint nella pagina Predizione online.

    Vai a Endpoints

  2. Nell'elenco a discesa Regione, scegli la regione in cui si trova l'endpoint.

  3. Fai clic sul nome dell'endpoint per aprire la pagina dei dettagli.

  4. Nella riga del modello, fai clic su Azioni e seleziona Annulla il deployment del modello nell'endpoint.

  5. Nella finestra di dialogo Annulla il deployment del modello nell'endpoint, fai clic su Annulla deployment.

Eliminazione endpoint

Elimina l'endpoint Vertex AI associato al deployment del modello.

SDK Vertex AI per Python

Per scoprire come installare o aggiornare l'SDK Vertex AI per Python, consulta Installare l'SDK Vertex AI per Python. Per ulteriori informazioni, consulta la Documentazione di riferimento dell'API Vertex AI SDK per Python.

Nel codice, sostituisci:

  • PROJECT_ID con l'ID del tuo progetto
  • LOCATION con la tua regione, ad esempio "us-central1"
  • ENDPOINT_ID con il tuo ID 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

In questi comandi, sostituisci:

  • PROJECT_ID con il nome del progetto
  • LOCATION_ID con la regione in cui hai eseguito il deployment del modello e dell'endpoint
  • ENDPOINT_ID con l'ID endpoint
  1. Recupera l'ID endpoint da eliminare eseguendo il comando gcloud ai endpoints list. Questo comando elenca gli ID endpoint per tutti gli endpoint del progetto.

    gcloud ai endpoints list \
        --project=PROJECT_ID \
        --region=LOCATION_ID
    
  2. Esegui il comando gcloud ai endpoints delete per eliminare l'endpoint.

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

    Quando richiesto, digita y per confermare. Questo comando non produce alcun output.

Console

  1. Nella Google Cloud console, vai alla scheda Endpoint nella pagina Predizione online.

    Vai a Endpoints

  2. Nell'elenco a discesa Regione, scegli la regione in cui si trova l'endpoint.

  3. Alla fine della riga dell'endpoint, fai clic su Azioni e poi seleziona Elimina endpoint.

  4. Nella richiesta di conferma, fai clic su Conferma.

Eliminazione modelli

Elimina la risorsa modello associata al deployment del modello.

SDK Vertex AI per Python

Per scoprire come installare o aggiornare l'SDK Vertex AI per Python, consulta Installare l'SDK Vertex AI per Python. Per ulteriori informazioni, consulta la Documentazione di riferimento dell'API Vertex AI SDK per Python.

Nel codice, sostituisci:

  • PROJECT_ID con l'ID del tuo progetto
  • LOCATION con la tua regione, ad esempio "us-central1"
  • MODEL_ID con il tuo ID modello
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

In questi comandi, sostituisci:

  • PROJECT_ID con il nome del progetto
  • LOCATION_ID con la regione in cui hai eseguito il deployment del modello e dell'endpoint
  • MODEL_ID con l'ID modello del comando list model
  1. Trova l'ID modello da eliminare eseguendo il comando gcloud ai models list.

    gcloud ai models list \
        --project=PROJECT_ID \
        --region=LOCATION_ID
    
  2. Esegui il comando gcloud ai models delete per eliminare il modello fornendo l'ID e la posizione del modello.

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

Console

  1. Vai alla pagina Registro dei modelli dalla sezione Vertex AI nella Google Cloud console.

    Vai alla pagina Registro dei modelli

  2. Nell'elenco a discesa Regione, scegli la regione in cui hai eseguito il deployment del modello.

  3. Nella riga del modello, fai clic su Azioni e poi seleziona Elimina modello.

    Quando elimini il modello, tutte le versioni e le valutazioni associate vengono eliminate dal tuo Google Cloud progetto.

  4. Nel messaggio di conferma, fai clic su Elimina.

Visualizza esempi di codice

La maggior parte delle schede dei modelli per le soluzioni specifiche per le attività contiene esempi di codice che puoi copiare e testare.

  1. Nella Google Cloud console, vai alla pagina Model Garden.

    Vai a Model Garden

  2. Trova un modello supportato di cui vuoi visualizzare gli esempi di codice e fai clic sulla scheda Documentazione.

  3. La pagina scorre fino alla sezione della documentazione con il codice di esempio incorporato.

Creare un'app di visione

Le schede dei modelli per i modelli di visione artificiale applicabili supportano la creazione di un'applicazione di visione.

  1. Nella Google Cloud console, vai alla pagina Model Garden.

    Vai a Model Garden

  2. Nella sezione Soluzioni specifiche per attività, trova un modello di visione che vuoi utilizzare per creare un'applicazione di visione e fai clic su Visualizza dettagli.

  3. Fai clic su Crea app.

    Viene visualizzata la pagina Vertex AI Vision.

  4. In Nome applicazione, inserisci un nome per l'applicazione e fai clic su Continua.

  5. Seleziona un piano di fatturazione e fai clic su Crea.

    Verrà visualizzata la pagina Vertex AI Vision Studio, dove potrai continuare a creare la tua applicazione di visione artificiale.