Utiliser des modèles dans Model Garden

Découvrez, testez, réglez et déployez des modèles à l'aide de Model Garden dans la consoleGoogle Cloud . Vous pouvez également déployer des modèles Model Garden à l'aide de la Google Cloud CLI.

Envoyer des requêtes de test

  1. Dans la console Google Cloud , accédez à la page Model Garden.

    Accéder à Model Garden

  2. Recherchez un modèle compatible que vous souhaitez tester, puis cliquez sur Afficher les détails.

  3. Cliquez sur Ouvrir dans Vertex AI Studio.

    Vous êtes redirigé vers la page de conception de requête.

  4. Dans Requête, saisissez la requête que vous souhaitez tester.

  5. Facultatif : configurez les paramètres du modèle.

  6. Cliquez sur Envoyer.

Régler un modèle

  1. Dans la console Google Cloud , accédez à la page Model Garden.

    Accéder à Model Garden

  2. Dans le champ Rechercher des modèles, saisissez BERT ou T5-FLAN, puis cliquez sur la loupe pour lancer la recherche.

  3. Cliquez sur Afficher les détails sur la fiche du modèle T5-FLAN ou BERT.

  4. Cliquez sur Ouvrir le pipeline de réglage.

    Vous êtes redirigé vers la page des pipelines Vertex AI.

  5. Pour lancer le processus de réglage, cliquez sur Créer une exécution.

Régler un modèle dans un notebook

La plupart des modèles de fondation Open Source et des modèles ajustables peuvent être réglés dans un notebook via leur fiche.

  1. Dans la console Google Cloud , accédez à la page Model Garden.

    Accéder à Model Garden

  2. Recherchez un modèle compatible que vous souhaitez régler, puis accédez à sa fiche.

  3. Cliquez sur Ouvrir le notebook.

Déployer un modèle ouvert

Vous pouvez déployer un modèle à l'aide de sa fiche dans la console Google Cloud ou de façon programmatique.

Pour en savoir plus sur la configuration du SDK Google Gen AI ou de la Google Cloud CLI, consultez la présentation du SDK Google Gen AI ou Installer Google Cloud CLI.

Python

Pour savoir comment installer ou mettre à jour le SDK Vertex AI pour Python, consultez la section Installer le SDK Vertex AI pour Python. Pour en savoir plus, consultez la documentation de référence de l'API Python.

  1. Listez les modèles que vous pouvez déployer et enregistrez l'ID de celui que vous voulez déployer. Vous pouvez éventuellement lister les modèles Hugging Face compatibles dans Model Garden et même les filtrer par nom de modèle. La sortie n'inclut aucun modèle réglé.

     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. Affichez les spécifications de déploiement d'un modèle à l'aide de son ID obtenu à l'étape précédente. Vous pouvez afficher le type de machine, le type d'accélérateur et l'URI de l'image de conteneur que Model Garden a validés pour un modèle particulier.

     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. Déployer un modèle sur un point de terminaison Model Garden utilise la configuration de déploiement par défaut, sauf si vous spécifiez un argument et des valeurs supplémentaires.

     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

Avant de commencer, spécifiez un projet de quota pour exécuter les commandes suivantes. Les commandes que vous exécutez sont comptabilisées dans les quotas de ce projet. Pour en savoir plus, consultez Définir le projet de quota.

  1. Listez les modèles que vous pouvez déployer en exécutant la commande gcloud ai model-garden models list. Cette commande liste tous les ID de modèle et ceux que vous pouvez déployer vous-même.

    gcloud ai model-garden models list 

    Dans la sortie, recherchez l'ID du modèle à déployer. L'exemple suivant montre une sortie abrégée.

    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/[email protected]                  Yes         No google/[email protected]            Yes         No google/[email protected]                  Yes         No google/[email protected]            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 

    La sortie n'inclut aucun modèle réglé ni modèle Hugging Face. Pour afficher les modèles Hugging Face compatibles, ajoutez l'option --can-deploy-hugging-face-models.

  2. Pour afficher les spécifications de déploiement d'un modèle, exécutez la commande gcloud ai model-garden models list-deployment-config. Vous pouvez afficher le type de machine, le type d'accélérateur et l'URI de l'image de conteneur que Model Garden accepte pour un modèle particulier.

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

    Remplacez MODEL_ID par l'ID du modèle de la commande list précédente, par exemple google/gemma@gemma-2b ou stabilityai/stable-diffusion-xl-base-1.0.

  3. Déployez un modèle sur un point de terminaison en exécutant la commande gcloud ai model-garden models deploy. Model Garden génère un nom à afficher pour votre point de terminaison et utilise la configuration de déploiement par défaut, sauf si vous spécifiez un argument et des valeurs supplémentaires.

    Pour exécuter la commande de manière asynchrone, incluez l'option --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] 

    Remplacez les espaces réservés suivants :

    • MODEL_ID : ID du modèle de la commande list précédente. Pour les modèles Hugging Face, utilisez le format d'URL de modèle Hugging Face, tel que stabilityai/stable-diffusion-xl-base-1.0.
    • MACHINE_TYPE : définit l'ensemble de ressources à déployer pour votre modèle, par exemple g2-standard-4.
    • ACCELERATOR_TYPE : spécifie les accélérateurs à ajouter à votre déploiement pour améliorer les performances lorsque vous utilisez des charges de travail intensives, telles que NVIDIA_L4.
    • ENDPOINT_NAME : nom du point de terminaison Vertex AI déployé.
    • HF_ACCESS_TOKEN : pour les modèles Hugging Face, si l'accès au modèle est restreint, fournissez un jeton d'accès.
    • RESERVATION_RESOURCE_NAME : pour utiliser une réservation Compute Engine spécifique, spécifiez le nom de votre réservation. Si vous spécifiez une réservation spécifique, vous ne pouvez pas spécifier any-reservation.

    La sortie inclut la configuration de déploiement utilisée par Model Garden, l'ID de point de terminaison et l'ID d'opération de déploiement, que vous pouvez utiliser pour vérifier l'état du déploiement.

    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. Pour afficher les détails de votre déploiement, exécutez la commande gcloud ai endpoints list --list-model-garden-endpoints-only :

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

    Remplacez LOCATION_ID par la région dans laquelle vous avez déployé le modèle.

    La sortie inclut tous les points de terminaison créés à partir de Model Garden, ainsi que des informations telles que l'ID du point de terminaison, son nom et s'il est associé à un modèle déployé. Pour trouver votre déploiement, recherchez le nom du point de terminaison renvoyé par la commande précédente.

REST

Listez tous les modèles déployables, puis obtenez l'ID du modèle à déployer. Vous pouvez ensuite déployer le modèle avec sa configuration et son point de terminaison par défaut. Vous pouvez également choisir de personnaliser votre déploiement, par exemple en définissant un type de machine spécifique ou en utilisant un point de terminaison dédié.

1. Lister les modèles que vous pouvez déployer

Avant d'utiliser les données de requête ci-dessous, effectuez les remplacements suivants :

  • PROJECT_ID : ID de votre projet Google Cloud .
  • QUERY_PARAMETERS : pour lister les modèles Model Garden, ajoutez ces paramètres de requête listAllVersions=True&filter=is_deployable(true). Pour lister les modèles Hugging Face, définissez le filtre sur alt=json&is_hf_wildcard(true)+AND+labels.VERIFIED_DEPLOYMENT_CONFIG%3DVERIFIED_DEPLOYMENT_SUCCEED&listAllVersions=True.

Méthode HTTP et URL :

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

Pour envoyer votre requête, choisissez l'une des options suivantes :

curl

Exécutez la commande suivante :

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

Exécutez la commande suivante :

$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

Vous recevez une réponse JSON de ce type :

 {   "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. Déployer un modèle

Déployez un modèle depuis Model Garden ou depuis Hugging Face. Vous pouvez également personnaliser le déploiement en spécifiant des champs JSON supplémentaires.

Déployez un modèle avec sa configuration par défaut.

Avant d'utiliser les données de requête, effectuez les remplacements suivants :

  • LOCATION : région où le modèle est déployé.
  • PROJECT_ID : ID de votre projet Google Cloud .
  • MODEL_ID : ID du modèle à déployer, que vous pouvez obtenir en listant tous les modèles déployables. L'ID utilise le format suivant : publishers/PUBLISHER_NAME/models/MODEL_NAME@MODEL_VERSION.

Méthode HTTP et URL :

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

Corps JSON de la requête :

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

Pour envoyer votre requête, choisissez l'une des options suivantes :

curl

Enregistrez le corps de la requête dans un fichier nommé request.json. Exécutez la commande suivante dans le terminal pour créer ou écraser ce fichier dans le répertoire actuel :

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

Exécutez ensuite la commande suivante pour envoyer votre requête 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

Enregistrez le corps de la requête dans un fichier nommé request.json. Exécutez la commande suivante dans le terminal pour créer ou écraser ce fichier dans le répertoire actuel :

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

Exécutez ensuite la commande suivante pour envoyer votre requête 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

Vous recevez une réponse JSON de ce type :

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

Déployer un modèle Hugging Face

Avant d'utiliser les données de requête, effectuez les remplacements suivants :

  • LOCATION : région où le modèle est déployé.
  • PROJECT_ID : ID de votre projet Google Cloud .
  • MODEL_ID : ID du modèle Hugging Face à déployer, que vous pouvez obtenir en listant tous les modèles déployables. L'ID utilise le format suivant : PUBLISHER_NAME/MODEL_NAME.
  • ACCESS_TOKEN : si l'accès au modèle est restreint, fournissez un jeton d'accès.

Méthode HTTP et URL :

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

Corps JSON de la requête :

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

Pour envoyer votre requête, choisissez l'une des options suivantes :

curl

Enregistrez le corps de la requête dans un fichier nommé request.json. Exécutez la commande suivante dans le terminal pour créer ou écraser ce fichier dans le répertoire actuel :

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

Exécutez ensuite la commande suivante pour envoyer votre requête 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

Enregistrez le corps de la requête dans un fichier nommé request.json. Exécutez la commande suivante dans le terminal pour créer ou écraser ce fichier dans le répertoire actuel :

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

Exécutez ensuite la commande suivante pour envoyer votre requête 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

Vous recevez une réponse JSON de ce type :

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

Déployer un modèle avec des personnalisations

Avant d'utiliser les données de requête, effectuez les remplacements suivants :

  • LOCATION : région où le modèle est déployé.
  • PROJECT_ID : ID de votre projet Google Cloud .
  • MODEL_ID : ID du modèle à déployer, que vous pouvez obtenir en listant tous les modèles déployables. L'ID utilise le format suivant : publishers/PUBLISHER_NAME/models/MODEL_NAME@MODEL_VERSION, par exemple google/gemma@gemma-2b ou stabilityai/stable-diffusion-xl-base-1.0.
  • MACHINE_TYPE : définit l'ensemble de ressources à déployer pour votre modèle, par exemple g2-standard-4.
  • ACCELERATOR_TYPE : spécifie les accélérateurs à ajouter à votre déploiement pour améliorer les performances lorsque vous utilisez des charges de travail intensives, telles que NVIDIA_L4.
  • ACCELERATOR_COUNT : nombre d'accélérateurs à utiliser dans votre déploiement.
  • reservation_affinity_type : pour utiliser une réservation Compute Engine existante pour votre déploiement, spécifiez n'importe quelle réservation ou une spécifique. Si vous spécifiez cette valeur, ne spécifiez pas spot.
  • spot : indique si vous devez utiliser des VM Spot pour votre déploiement.
  • IMAGE_URI : emplacement de l'image de conteneur à utiliser, par exemple us-docker.pkg.dev/vertex-ai/vertex-vision-model-garden-dockers/pytorch-vllm-serve:20241016_0916_RC00_maas.
  • CONTAINER_ARGS : arguments à transmettre au conteneur lors du déploiement.
  • CONTAINER_PORT : numéro de port pour votre conteneur.
  • fast_tryout_enabled : lorsque vous testez un modèle, vous pouvez choisir d'utiliser un déploiement plus rapide. Cette option n'est disponible que pour les modèles très utilisés avec certains types de machines. Si cette option est activée, vous ne pouvez pas spécifier de configurations de modèle ou de déploiement.

Méthode HTTP et URL :

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

Corps JSON de la requête :

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

Pour envoyer votre requête, choisissez l'une des options suivantes :

curl

Enregistrez le corps de la requête dans un fichier nommé request.json. Exécutez la commande suivante dans le terminal pour créer ou écraser ce fichier dans le répertoire actuel :

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

Exécutez ensuite la commande suivante pour envoyer votre requête 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

Enregistrez le corps de la requête dans un fichier nommé request.json. Exécutez la commande suivante dans le terminal pour créer ou écraser ce fichier dans le répertoire actuel :

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

Exécutez ensuite la commande suivante pour envoyer votre requête 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

Vous recevez une réponse JSON de ce type :

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

Console

  1. Dans la console Google Cloud , accédez à la page Model Garden.

    Accéder à Model Garden

  2. Recherchez un modèle compatible que vous souhaitez déployer, puis cliquez sur sa fiche.

  3. Cliquez sur Déployer pour ouvrir le volet Déployer le modèle.

  4. Dans le volet Déployer le modèle, spécifiez les détails de votre déploiement.

    1. Utilisez ou modifiez le nom du modèle et celui du point de terminaison générés.
    2. Sélectionnez un emplacement pour créer le point de terminaison de votre modèle.
    3. Sélectionnez un type de machine à utiliser pour chaque nœud de votre déploiement.
    4. Pour utiliser une réservation Compute Engine, sélectionnez Avancé dans la section Paramètres de déploiement.

    Dans le champ Type de réservation, sélectionnez un type de réservation. La réservation doit correspondre aux spécifications de votre machine.

    • Utiliser automatiquement la réservation créée : Vertex AI sélectionne automatiquement une réservation autorisée avec des propriétés correspondantes. Si la réservation sélectionnée automatiquement ne dispose d'aucune capacité, Vertex AI utilise le pool de ressources Google Cloud général.
    • Sélectionner des réservations spécifiques : Vertex AI utilise une réservation spécifique. Si la capacité de votre réservation sélectionnée est insuffisante, une erreur est générée.
    • Ne pas utiliser (par défaut) : Vertex AI utilise le pool de ressourcesGoogle Cloud général. Cette valeur a le même effet que si vous ne spécifiez pas de réservation.
  5. Cliquez sur Déployer.

Terraform

Pour savoir comment appliquer ou supprimer une configuration Terraform, consultez la page Commandes Terraform de base. Pour en savoir plus, consultez la documentation de référence du fournisseur Terraform.

Déployer un modèle

L'exemple suivant déploie le modèle gemma-3-1b-it sur un nouveau point de terminaison Vertex AI dans us-central1 en utilisant les configurations par défaut.

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

Pour déployer un modèle avec personnalisation, consultez Point de terminaison Vertex AI avec déploiement Model Garden pour en savoir plus.

Appliquer la configuration

terraform init terraform plan terraform apply 

Une fois la configuration appliquée, Terraform provisionne un nouveau point de terminaison Vertex AI et déploie le modèle ouvert spécifié.

Effectuer un nettoyage

Pour supprimer le point de terminaison et le déploiement du modèle, exécutez la commande suivante :

terraform destroy 

Déployer un modèle partenaire et envoyer des requêtes de prédiction

Dans la console Google Cloud , accédez à la page Model Garden et utilisez le filtre Collections de modèles pour afficher les Modèles de partenaires à déployer soi-même. Choisissez un modèle partenaire auto-déployable dans la liste, puis achetez-le en cliquant sur Activer.

Vous devez effectuer le déploiement sur les types de machines requis par le partenaire, comme décrit dans la section "Configuration matérielle recommandée" de la fiche du modèle Model Garden. Une fois déployées, les ressources de mise en service du modèle se trouvent dans un projet sécurisé géré par Google.

Python

Pour savoir comment installer ou mettre à jour le SDK Vertex AI pour Python, consultez la section Installer le SDK Vertex AI pour Python. Pour en savoir plus, consultez la documentation de référence de l'API Python.

Dans votre code, remplacez les espaces réservés suivants :

  • LOCATION : région dans laquelle vous prévoyez de déployer le modèle et le point de terminaison.
  • PROJECT_ID : ID de votre projet
  • DISPLAY_NAME : nom descriptif de la ressource associée.
  • PUBLISHER_NAME : nom du partenaire qui fournit le modèle à importer ou à déployer.
  • PUBLISHER_MODEL_NAME : nom du modèle à importer.
  • MACHINE_TYPE : définit l'ensemble de ressources à déployer pour votre modèle, par exemple g2-standard-4. La configuration doit correspondre à l'une des configurations fournies par le partenaire.
  • ACCELERATOR_TYPE : spécifie les accélérateurs à ajouter à votre déploiement pour améliorer les performances lorsque vous utilisez des charges de travail intensives, telles que NVIDIA_L4. La configuration doit correspondre à l'une des configurations fournies par le partenaire.
  • ACCELERATOR_COUNT : nombre d'accélérateurs à utiliser. La configuration doit correspondre à l'une des configurations fournies par le partenaire.
  • REQUEST_PAYLOAD : champs et valeurs à inclure dans votre requête de prédiction. Consultez la fiche du modèle partenaire dans Model Garden pour afficher les champs disponibles.
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

Listez tous les modèles déployables, puis obtenez l'ID du modèle à déployer. Vous pouvez ensuite déployer le modèle avec sa configuration et son point de terminaison par défaut. Vous pouvez également choisir de personnaliser votre déploiement, par exemple en définissant un type de machine spécifique ou en utilisant un point de terminaison dédié.

Dans les exemples de commandes curl, remplacez les espaces réservés suivants :

  • LOCATION : région dans laquelle vous prévoyez de déployer le modèle et le point de terminaison.
  • PROJECT_ID : ID de votre projet
  • DISPLAY_NAME : nom descriptif de la ressource associée.
  • PUBLISHER_NAME : nom du partenaire qui fournit le modèle à importer ou à déployer.
  • PUBLISHER_MODEL_NAME : nom du modèle à importer.
  • ENDPOINT_ID : ID du point de terminaison.
  • MACHINE_TYPE : définit l'ensemble de ressources à déployer pour votre modèle, par exemple g2-standard-4. La configuration doit correspondre à l'une des configurations fournies par le partenaire.
  • ACCELERATOR_TYPE : spécifie les accélérateurs à ajouter à votre déploiement pour améliorer les performances lorsque vous utilisez des charges de travail intensives, telles que NVIDIA_L4. La configuration doit correspondre à l'une des configurations fournies par le partenaire.
  • ACCELERATOR_COUNT : nombre d'accélérateurs à utiliser. La configuration doit correspondre à l'une des configurations fournies par le partenaire.
  • REQUEST_PAYLOAD : champs et valeurs à inclure dans votre requête de prédiction. Consultez la fiche du modèle partenaire dans Model Garden pour afficher les champs disponibles.
  1. Importez un modèle pour l'ajouter à 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. Créez un point de terminaison.

    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. Déployez le modèle importé sur le point de terminaison.

    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. Une fois le modèle déployé, vous pouvez effectuer un appel unaire ou en flux continu pour les prédictions. Consultez la fiche du modèle partenaire dans Model Garden pour voir quelles méthodes d'API sont compatibles.

    • Exemple d'appel unaire :
    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' 
    • Exemple d'appel en flux continu :
    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. Dans la console Google Cloud , accédez à la page Model Garden.

    Accéder à Model Garden

  2. Pour trouver un modèle spécifique, saisissez son nom dans le champ de recherche de Model Garden.

  3. Pour afficher tous les modèles que vous pouvez déployer vous-même, sélectionnez Modèles de partenaires à déployer soi-même dans la section Collections de modèles du volet de filtre. La liste obtenue inclut tous les modèles partenaires auto-déployables.

  4. Cliquez sur le nom du modèle à déployer pour ouvrir sa fiche.

  5. Cliquez sur Options de déploiement.

  6. Dans le volet Déployer sur Vertex AI, configurez votre déploiement, par exemple l'emplacement et le type de machine.

  7. Cliquez sur Déployer.

Une fois le déploiement terminé, vous pouvez demander des prédictions à l'aide du SDK ou de l'API. D'autres instructions sont disponibles dans la section "Documentation" de la fiche du modèle.

Afficher ou gérer un point de terminaison

Pour afficher et gérer votre point de terminaison, accédez à la page Prédiction en ligne de Vertex AI.

Accéder à "Prédiction en ligne"

Vertex AI liste tous les points de terminaison de votre projet pour une région donnée. Cliquez sur un point de terminaison pour afficher ses détails, comme les modèles déployés sur le point de terminaison.

Annuler le déploiement d'un modèle et supprimer les ressources

Pour empêcher un modèle déployé d'utiliser les ressources de votre projet, annulez son déploiement à partir de son point de terminaison. Vous devez annuler le déploiement d'un modèle avant de pouvoir supprimer le point de terminaison et le modèle.

Annuler le déploiement d'un modèle

Annulez le déploiement d'un modèle à partir de son point de terminaison.

Python

Pour savoir comment installer ou mettre à jour le SDK Vertex AI pour Python, consultez la section Installer le SDK Vertex AI pour Python. Pour en savoir plus, consultez la documentation de référence de l'API Python.

Dans votre code, remplacez :

  • PROJECT_ID par l'ID de votre projet ;
  • LOCATION par votre région, par exemple "us-central1" ;
  • ENDPOINT_ID par l'ID de votre point de terminaison.
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

Dans ces commandes, remplacez :

  • PROJECT_ID par le nom de votre projet ;
  • LOCATION_ID par la région dans laquelle vous avez déployé le modèle et le point de terminaison ;
  • ENDPOINT_ID par l'ID du point de terminaison ;
  • MODEL_ID par l'ID du modèle de la commande list model ;
  • DEPLOYED_MODEL_ID par l'ID du modèle déployé.
  1. Pour trouver l'ID du point de terminaison associé à votre déploiement, exécutez la commande gcloud ai endpoints list.

    gcloud ai endpoints list \     --project=PROJECT_ID \     --region=LOCATION_ID 
  2. Pour trouver l'ID du modèle, exécutez la commande gcloud ai models list.

    gcloud ai models list \     --project=PROJECT_ID \     --region=LOCATION_ID 
  3. Utilisez l'ID du modèle de la commande précédente pour obtenir l'ID du modèle déployé en exécutant la commande gcloud ai models describe.

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

    Le résultat abrégé correspond à l'exemple suivant. Dans la sortie, l'ID est appelé 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. Exécutez la commande gcloud ai endpoints undeploy-model pour annuler le déploiement du modèle à partir du point de terminaison à l'aide de l'ID du point de terminaison et de l'ID du modèle déployé des commandes précédentes.

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

    Cette commande n'affiche aucun résultat.

Console

  1. Dans la console Google Cloud , accédez à l'onglet Points de terminaison de la page Prédiction en ligne.

    Accéder à la page "Points de terminaison"

  2. Dans la liste déroulante Région, sélectionnez la région où se trouve votre point de terminaison.

  3. Cliquez sur le nom du point de terminaison pour ouvrir sa page d'informations.

  4. Sur la ligne correspondant au modèle, cliquez sur  Actions, puis sélectionnez Annuler le déploiement du modèle sur le point de terminaison.

  5. Dans la boîte de dialogue Annuler le déploiement du modèle sur le point de terminaison, cliquez sur Annuler le déploiement.

Supprimer des points de terminaison

Supprimez le point de terminaison Vertex AI associé au déploiement de votre modèle.

Python

Pour savoir comment installer ou mettre à jour le SDK Vertex AI pour Python, consultez la section Installer le SDK Vertex AI pour Python. Pour en savoir plus, consultez la documentation de référence de l'API Python.

Dans votre code, remplacez :

  • PROJECT_ID par l'ID de votre projet ;
  • LOCATION par votre région, par exemple "us-central1" ;
  • ENDPOINT_ID par l'ID de votre point de terminaison.
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

Dans ces commandes, remplacez :

  • PROJECT_ID par le nom de votre projet ;
  • LOCATION_ID par la région dans laquelle vous avez déployé le modèle et le point de terminaison ;
  • ENDPOINT_ID par l'ID du point de terminaison ;
  1. Obtenez l'ID du point de terminaison à supprimer en exécutant la commande gcloud ai endpoints list. Cette commande liste les ID de tous les points de terminaison de votre projet.

    gcloud ai endpoints list \     --project=PROJECT_ID \     --region=LOCATION_ID 
  2. Exécutez la commande gcloud ai endpoints delete pour supprimer le point de terminaison.

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

    Lorsque vous y êtes invité, saisissez y pour confirmer. Cette commande n'affiche aucun résultat.

Console

  1. Dans la console Google Cloud , accédez à l'onglet Points de terminaison de la page Prédiction en ligne.

    Accéder à la page "Points de terminaison"

  2. Dans la liste déroulante Région, sélectionnez la région où se trouve votre point de terminaison.

  3. Au bout de la ligne du point de terminaison, cliquez sur  Actions, puis sélectionnez Supprimer un point de terminaison.

  4. Dans l'invite de confirmation, cliquez sur Confirmer.

Supprimer des modèles

Supprimez la ressource de modèle associée au déploiement de votre modèle.

Python

Pour savoir comment installer ou mettre à jour le SDK Vertex AI pour Python, consultez la section Installer le SDK Vertex AI pour Python. Pour en savoir plus, consultez la documentation de référence de l'API Python.

Dans votre code, remplacez :

  • PROJECT_ID par l'ID de votre projet ;
  • LOCATION par votre région, par exemple "us-central1" ;
  • MODEL_ID par l'ID de votre modèle.
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

Dans ces commandes, remplacez :

  • PROJECT_ID par le nom de votre projet ;
  • LOCATION_ID par la région dans laquelle vous avez déployé le modèle et le point de terminaison ;
  • MODEL_ID par l'ID du modèle de la commande list model.
  1. Recherchez l'ID du modèle à supprimer en exécutant la commande gcloud ai models list.

    gcloud ai models list \     --project=PROJECT_ID \     --region=LOCATION_ID 
  2. Exécutez la commande gcloud ai models delete pour supprimer le modèle en fournissant l'ID et l'emplacement du modèle.

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

Console

  1. Accédez à la page Model Registry depuis la section Vertex AI de la console Google Cloud .

    Accéder à la page "Registre de modèles"

  2. Dans la liste déroulante Région, sélectionnez la région dans laquelle vous avez déployé votre modèle.

  3. Sur la ligne correspondant à votre modèle, cliquez sur  Actions, puis sélectionnez Supprimer le modèle.

    Lorsque vous supprimez le modèle, toutes les versions et évaluations de modèle associées sont également supprimées de votre projet Google Cloud .

  4. Dans l'invite de confirmation, cliquez sur Supprimer.

Afficher les exemples de code

La plupart des fiches de modèle pour les modèles de solutions spécifiques à une tâche contiennent des exemples de code que vous pouvez copier et tester.

  1. Dans la console Google Cloud , accédez à la page Model Garden.

    Accéder à la page "Jardin de modèles"

  2. Recherchez un modèle compatible pour lequel vous souhaitez afficher les exemples de code, puis cliquez sur l'onglet Documentation.

  3. La page défile jusqu'à la section "Documentation", qui contient l'exemple de code intégré.

Créer une application de vision

Les fiches des modèles de vision par ordinateur applicables permettent de créer une application de vision.

  1. Dans la console Google Cloud , accédez à la page Model Garden.

    Accéder à la page "Jardin de modèles"

  2. Dans la section "Solutions spécifiques à une tâche", recherchez un modèle de vision que vous souhaitez utiliser pour créer une application de vision, puis cliquez sur Afficher les détails.

  3. Cliquez sur Créer une application.

    Vous êtes redirigé vers Vertex AI Vision.

  4. Dans Nom de l'application, saisissez un nom pour votre application, puis cliquez sur Continuer.

  5. Sélectionnez un forfait, puis cliquez sur Créer.

    Vous êtes redirigé vers Vertex AI Vision Studio, où vous pouvez continuer à créer votre application de vision par ordinateur.