Usa modelos en Model Garden

Descubre, prueba, ajusta y, luego, implementa modelos con Model Garden en la consola de Google Cloud. También puedes implementar modelos de Model Garden con Google Cloud CLI.

Envía instrucciones de prueba

  1. En la consola de Google Cloud, ve a la página Model Garden.

    Ir a Model Garden

  2. Busca un modelo compatible que desees probar y haz clic en Ver detalles.

  3. Haz clic en Abrir diseño de instrucciones.

    Se te redireccionará a la página Diseño de instrucciones.

  4. En Instrucción, ingresa la instrucción que deseas probar.

  5. Opcional: Configura los parámetros del modelo.

  6. Haz clic en Enviar.

Ajusta un modelo

  1. En la consola de Google Cloud, ve a la página Model Garden.

    Ir a Model Garden

  2. En Buscar modelos, ingresa BERT o F5-FLAN y, luego, haz clic en la lupa para buscar.

  3. Haz clic en Ver detalles en la tarjeta de modelo F5-FLAN o BERT.

  4. Haz clic en Abrir canalización de ajuste.

    Se te redireccionará a la página de canalizaciones de Vertex AI.

  5. Para comenzar a ajustar, haz clic en Crear ejecución.

Ajusta un notebook

Las tarjetas de modelo para la mayoría de los modelos base de código abierto y los modelos ajustables admiten el ajuste en un notebook.

  1. En la consola de Google Cloud, ve a la página Model Garden.

    Ir a Model Garden

  2. Busca un modelo compatible que desees ajustar y ve a su tarjeta de modelo.

  3. Haz clic en Abrir notebook.

Implementa un modelo abierto

Puedes implementar un modelo con su tarjeta de modelo en la consola de Google Cloud o de manera programática.

Para obtener más información sobre la configuración del SDK de Google Gen AI o Google Cloud CLI, consulta la descripción general del SDK de Google Gen AI o Instala Google Cloud CLI.

SDK de Vertex AI para Python

Si deseas obtener información para instalar o actualizar el SDK de Vertex AI para Python, consulta Instala el SDK de Vertex AI para Python. Si deseas obtener más información, consulta la documentación del SDK de Vertex AI de referencia de la API de Vertex para Python.

  1. Enumera los modelos que puedes implementar y registra el ID del modelo que deseas implementar. De forma opcional, puedes enumerar los modelos de Hugging Face compatibles en Model Garden y, además, filtrar por nombres de modelos. El resultado no incluye ningún modelo ajustado.

    
    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. Para ver las especificaciones de implementación de un modelo, usa el ID del modelo del paso anterior. Puedes ver el tipo de máquina, el tipo de acelerador y el URI de la imagen del contenedor que Model Garden verificó para un modelo en particular.

    
    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. Implementa un modelo en un extremo. Model Garden usa la configuración de despliegue predeterminada, a menos que especifiques argumentos y valores adicionales.

    
    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

Antes de comenzar, especifica un proyecto de cuota para ejecutar los siguientes comandos. Los comandos que ejecutas se consideran en las cuotas de ese proyecto. Para obtener más información, consulta Configura el proyecto de cuota.

  1. Ejecuta el comando gcloud beta ai model-garden models list para obtener una lista de los modelos que puedes implementar. Este comando muestra todos los IDs de modelos y cuáles puedes implementar por tu cuenta.

    gcloud beta ai model-garden models list
    

    En el resultado, busca el ID del modelo que deseas implementar. En el siguiente ejemplo, se muestra un resultado abreviado.

    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/gemma@gemma-1.1-2b-it                                            Yes
    google/gemma@gemma-1.1-2b-it-gg-hf                                      Yes
    google/gemma@gemma-1.1-7b-it                                            Yes
    google/gemma@gemma-1.1-7b-it-gg-hf                                      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
    

    El resultado no incluye ningún modelo ajustado ni de Hugging Face. Para ver qué modelos de Hugging Face son compatibles, agrega la marca --list-supported-hugging-face-models.

  2. Para ver las especificaciones de implementación de un modelo, ejecuta el comando gcloud beta ai model-garden models list-deployment-config. Puedes ver el tipo de máquina, el tipo de acelerador y el URI de la imagen del contenedor que admite Model Garden para un modelo en particular.

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

    Reemplaza MODEL_ID por el ID del modelo del comando de lista anterior, como google/gemma@gemma-2b o stabilityai/stable-diffusion-xl-base-1.0.

  3. Ejecuta el comando gcloud beta ai model-garden models deploy para implementar un modelo en un extremo. Model Garden genera un nombre visible para tu extremo y usa la configuración de implementación predeterminada, a menos que especifiques argumentos y valores adicionales.

    Para ejecutar el comando de forma asíncrona, incluye la marca --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]
    

    Reemplaza los siguientes marcadores de posición:

    • MODEL_ID: El ID del modelo del comando de lista anterior. Para los modelos de Hugging Face, usa el formato de URL de modelo de Hugging Face, como stabilityai/stable-diffusion-xl-base-1.0.
    • MACHINE_TYPE: Define el conjunto de recursos que se implementarán para tu modelo, como g2-standard-4.
    • ACCELERATOR_TYPE: Especifica los aceleradores que se agregarán a tu implementación para mejorar el rendimiento cuando se trabaja con cargas de trabajo intensivas, como NVIDIA_L4.
    • ENDPOINT_NAME: Es un nombre para el extremo de Vertex AI implementado.
    • HF_ACCESS_TOKEN: En el caso de los modelos de Hugging Face, si el modelo está restringido, proporciona un token de acceso.
    • RESERVATION_RESOURCE_NAME: Para usar una reserva de Compute Engine específica, especifica el nombre de la reserva. Si especificas una reserva específica, no puedes especificar any-reservation.

    El resultado incluye la configuración de implementación que usó Model Garden, el ID del extremo y el ID de la operación de implementación, que puedes usar para verificar el estado de la implementación.

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

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

    Reemplaza LOCATION_ID por la región en la que implementaste el modelo.

    El resultado incluye todos los extremos que se crearon desde Model Garden y contiene información como el ID del extremo, el nombre del extremo y si está asociado con un modelo implementado. Para encontrar tu implementación, busca el nombre del extremo que se mostró en el comando anterior.

REST

Enumera todos los modelos implementables y, luego, obtén el ID del modelo que se implementará. Luego, puedes implementar el modelo con su configuración y extremo predeterminados. También puedes personalizar tu implementación, como configurar un tipo de máquina específico o usar un extremo dedicado.

1. Lista de modelos que puedes implementar

Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:

  • PROJECT_ID: El ID del proyecto.
  • QUERY_PARAMETERS: Para enumerar los modelos de Model Garden, agrega los siguientes parámetros de consulta listAllVersions=True&filter=is_deployable(true). Para enumerar los modelos de Hugging Face, establece el filtro en alt=json&is_hf_wildcard(true)+AND+labels.VERIFIED_DEPLOYMENT_CONFIG%3DVERIFIED_DEPLOYMENT_SUCCEED&listAllVersions=True.

Método HTTP y URL:

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

Para enviar tu solicitud, elige una de estas opciones:

curl

Ejecuta el siguiente 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

Ejecuta el siguiente 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

Recibirás una respuesta JSON similar a la que se muestra a continuación.

{
  "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. Implementar un modelo

Implementa un modelo de Model Garden o de Hugging Face. También puedes personalizar la implementación si especificas campos JSON adicionales.

Implementa un modelo con su configuración predeterminada.

Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:

  • LOCATION: Es una región en la que se implementa el modelo.
  • PROJECT_ID: El ID del proyecto.
  • MODEL_ID: Es el ID del modelo que se implementará, que puedes obtener de la lista de todos los modelos implementables. El ID usa el siguiente formato: publishers/PUBLISHER_NAME/models/MODEL_NAME@MODEL_VERSION.

Método HTTP y URL:

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

Cuerpo JSON de la solicitud:

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

Para enviar tu solicitud, elige una de estas opciones:

curl

Guarda el cuerpo de la solicitud en un archivo llamado request.json. Ejecuta el comando siguiente en la terminal para crear o reemplazar este archivo en el directorio actual:

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

Luego, ejecuta el siguiente comando para enviar tu solicitud de 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

Guarda el cuerpo de la solicitud en un archivo llamado request.json. Ejecuta el comando siguiente en la terminal para crear o reemplazar este archivo en el directorio actual:

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

Luego, ejecuta el siguiente comando para enviar tu solicitud de 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

Recibirás una respuesta JSON similar a la que se muestra a continuación.

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

Implementa un modelo de Hugging Face

Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:

  • LOCATION: Es una región en la que se implementa el modelo.
  • PROJECT_ID: El ID del proyecto.
  • MODEL_ID: Es el ID del modelo de Hugging Face que se implementará, que puedes obtener de la lista de todos los modelos implementables. El ID usa el siguiente formato: PUBLISHER_NAME/MODEL_NAME.
  • ACCESS_TOKEN: Si el modelo está restringido, proporciona un token de acceso.

Método HTTP y URL:

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

Cuerpo JSON de la solicitud:

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

Para enviar tu solicitud, elige una de estas opciones:

curl

Guarda el cuerpo de la solicitud en un archivo llamado request.json. Ejecuta el comando siguiente en la terminal para crear o reemplazar este archivo en el directorio actual:

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

Luego, ejecuta el siguiente comando para enviar tu solicitud de 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

Guarda el cuerpo de la solicitud en un archivo llamado request.json. Ejecuta el comando siguiente en la terminal para crear o reemplazar este archivo en el directorio actual:

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

Luego, ejecuta el siguiente comando para enviar tu solicitud de 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

Recibirás una respuesta JSON similar a la que se muestra a continuación.

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

Implementa un modelo con personalizaciones

Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:

  • LOCATION: Es una región en la que se implementa el modelo.
  • PROJECT_ID: El ID del proyecto.
  • MODEL_ID: Es el ID del modelo que se implementará, que puedes obtener de la lista de todos los modelos implementables. El ID usa el siguiente formato: publishers/PUBLISHER_NAME/models/MODEL_NAME@MODEL_VERSION, como google/gemma@gemma-2b o stabilityai/stable-diffusion-xl-base-1.0.
  • MACHINE_TYPE: Define el conjunto de recursos que se implementarán para tu modelo, como g2-standard-4.
  • ACCELERATOR_TYPE: especifica los aceleradores que se agregarán a tu implementación para mejorar el rendimiento cuando se trabaja con cargas de trabajo intensivas, como NVIDIA_L4
  • ACCELERATOR_COUNT: Es la cantidad de aceleradores que se usarán en tu implementación.
  • reservation_affinity_type: Para usar una reserva existente de Compute Engine para tu implementación, especifica cualquier reserva o una específica. Si especificas este valor, no especifiques spot.
  • spot: Indica si se deben usar VMs spot para la implementación.
  • IMAGE_URI: Es la ubicación de la imagen del contenedor que se usará, como us-docker.pkg.dev/vertex-ai/vertex-vision-model-garden-dockers/pytorch-vllm-serve:20241016_0916_RC00_maas.
  • CONTAINER_ARGS: Son los argumentos que se pasan al contenedor durante la implementación.
  • CONTAINER_PORT: Es un número de puerto para tu contenedor.
  • fast_tryout_enabled: Cuando pruebas un modelo, puedes optar por usar una implementación más rápida. Esta opción solo está disponible para los modelos de uso intensivo con ciertos tipos de máquinas. Si está habilitada, no puedes especificar configuraciones de modelos ni de implementación.

Método HTTP y URL:

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

Cuerpo JSON de la solicitud:

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

Para enviar tu solicitud, elige una de estas opciones:

curl

Guarda el cuerpo de la solicitud en un archivo llamado request.json. Ejecuta el comando siguiente en la terminal para crear o reemplazar este archivo en el directorio actual:

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

Luego, ejecuta el siguiente comando para enviar tu solicitud de 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

Guarda el cuerpo de la solicitud en un archivo llamado request.json. Ejecuta el comando siguiente en la terminal para crear o reemplazar este archivo en el directorio actual:

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

Luego, ejecuta el siguiente comando para enviar tu solicitud de 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

Recibirás una respuesta JSON similar a la que se muestra a continuación.

{
  "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. En la consola de Google Cloud, ve a la página Model Garden.

    Ir a Model Garden

  2. Busca un modelo compatible que desees implementar y haz clic en su tarjeta.

  3. Haz clic en Implementar para abrir el panel Implementar modelo.

  4. En el panel Implementar modelo, especifica los detalles de la implementación.

    1. Usa o modifica los nombres del modelo y el extremo generados.
    2. Selecciona una ubicación en la que se creará el extremo de tu modelo.
    3. Selecciona un tipo de máquina para usar en cada nodo de tu implementación.
    4. Para usar una reserva de Compute Engine, en la sección Configuración de la implementación, selecciona Configuración avanzada.

      En el campo Tipo de reserva, selecciona un tipo de reserva. La reserva debe coincidir con las especificaciones de la máquina que especificaste.

      • Usar de forma automática la reserva creada: Vertex AI selecciona automáticamente una reserva permitida con propiedades coincidentes. Si no hay capacidad en la reserva seleccionada automáticamente, Vertex AI usa el grupo de recursos Google Cloudgeneral.
      • Seleccionar reservas específicas: Vertex AI usa una reserva específica. Si no hay capacidad para la reserva que seleccionaste, se genera un error.
      • No usar (opción predeterminada): Vertex AI usa el conjunto de recursos general deGoogle Cloud . Este valor tiene el mismo efecto que no especificar una reserva.
  5. Haz clic en Implementar.

Implementa un modelo de socio y realiza solicitudes de predicción

Antes de comenzar, debes tener un acuerdo con el socio. Este acuerdo incluye aceptar los términos y requisitos de licencias específicos de los socios, así como los precios. Para obtener más información o iniciar un contacto con un socio, consulta la documentación del socio en su tarjeta de modelo de Model Garden y haz clic en Comunicarse con Ventas.

Debes realizar la implementación en los tipos de máquinas requeridos por el socio, como se describe en la sección "Configuración de hardware recomendada" de la tarjeta de modelo de Model Garden. Cuando se implementan, los recursos de entrega del modelo se encuentran en un proyecto seguro administrado por Google.

SDK de Vertex AI para Python

Si deseas obtener información para instalar o actualizar el SDK de Vertex AI para Python, consulta Instala el SDK de Vertex AI para Python. Si deseas obtener más información, consulta la documentación del SDK de Vertex AI de referencia de la API de Vertex para Python.

En tu código, reemplaza los siguientes marcadores de posición:

  • LOCATION: La región en la que planeas implementar el modelo y el extremo.
  • PROJECT_ID: ID del proyecto
  • DISPLAY_NAME: Es un nombre descriptivo para el recurso asociado.
  • PUBLISHER_NAME: Es el nombre del socio que proporciona el modelo para subirlo o implementarlo.
  • PUBLISHER_MODEL_NAME: Es el nombre del modelo que se subirá.
  • MACHINE_TYPE: Define el conjunto de recursos que se implementarán para tu modelo, como g2-standard-4. Debes coincidir con una de las configuraciones que proporcionó el socio.
  • ACCELERATOR_TYPE: Especifica los aceleradores que se agregarán a tu implementación para mejorar el rendimiento cuando se trabaja con cargas de trabajo intensivas, como NVIDIA_L4. Debes coincidir con una de las configuraciones que proporcionó el socio.
  • ACCELERATOR_COUNT: Es la cantidad de aceleradores que se usarán. Debes coincidir con una de las configuraciones que proporcionó el socio.
  • REQUEST_PAYLOAD: Son los campos y valores que se incluyen en la solicitud de predicción. Consulta la tarjeta de modelo de Model Garden del socio para ver los campos 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

Enumera todos los modelos implementables y, luego, obtén el ID del modelo que se implementará. Luego, puedes implementar el modelo con su configuración y extremo predeterminados. También puedes personalizar tu implementación, como configurar un tipo de máquina específico o usar un extremo dedicado.

En los comandos curl de muestra, reemplaza los siguientes marcadores de posición:

  • LOCATION: La región en la que planeas implementar el modelo y el extremo.
  • PROJECT_ID: ID del proyecto
  • DISPLAY_NAME: Es un nombre descriptivo para el recurso asociado.
  • PUBLISHER_NAME: Es el nombre del socio que proporciona el modelo para subirlo o implementarlo.
  • PUBLISHER_MODEL_NAME: Es el nombre del modelo que se subirá.
  • ENDPOINT_ID: Es el ID del extremo.
  • MACHINE_TYPE: Define el conjunto de recursos que se implementarán para tu modelo, como g2-standard-4. Debes coincidir con una de las configuraciones que proporcionó el socio.
  • ACCELERATOR_TYPE: Especifica los aceleradores que se agregarán a tu implementación para mejorar el rendimiento cuando se trabaja con cargas de trabajo intensivas, como NVIDIA_L4. Debes coincidir con una de las configuraciones que proporcionó el socio.
  • ACCELERATOR_COUNT: Es la cantidad de aceleradores que se usarán. Debes coincidir con una de las configuraciones que proporcionó el socio.
  • REQUEST_PAYLOAD: Son los campos y valores que se incluyen en la solicitud de predicción. Consulta la tarjeta de modelo de Model Garden del socio para ver los campos disponibles.
  1. Sube un modelo para agregarlo a tu Registro de modelos.

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

    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. Implementa el modelo subido en el extremo.

    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. Después de implementar el modelo, puedes realizar una llamada unaria o de transmisión para las predicciones. Consulta la tarjeta de modelo de Model Garden del socio para ver qué métodos de API son compatibles.

    • Ejemplo de llamada 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'
    
    • Ejemplo de llamada de transmisión:
    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. En la consola de Google Cloud, ve a la página Model Garden.

    Ir a Model Garden

  2. Para encontrar un modelo específico, ingresa su nombre en el cuadro de búsqueda de Model Garden.

  3. Para ver todos los modelos que puedes implementar por tu cuenta, en la sección Colecciones de modelos del panel de filtros, selecciona Modelos de socios con autoimplementación. La lista resultante incluye todos los modelos de socios que se pueden implementar por sí solos.

  4. Haz clic en el nombre del modelo que deseas implementar para abrir su tarjeta.

  5. Haz clic en Opciones de implementación.

  6. En el panel Implementar en Vertex AI, configura la implementación, como la ubicación y el tipo de máquina.

  7. Haz clic en Implementar.

Una vez que se complete la implementación, puedes solicitar predicciones con el SDK o la API. Las instrucciones adicionales están disponibles en la sección "Documentación" de la tarjeta del modelo.

Anula la implementación de modelos y borra recursos

Para evitar que un modelo implementado use recursos en tu proyecto, anula su implementación desde su extremo. Debes anular la implementación de un modelo para poder borrar el extremo y el modelo.

Anular implementaciones de modelos

Anula la implementación de un modelo desde su extremo.

SDK de Vertex AI para Python

Si deseas obtener información para instalar o actualizar el SDK de Vertex AI para Python, consulta Instala el SDK de Vertex AI para Python. Si deseas obtener más información, consulta la documentación del SDK de Vertex AI de referencia de la API de Vertex para Python.

En tu código, reemplaza lo siguiente:

  • PROJECT_ID por el ID del proyecto.
  • LOCATION con tu región, por ejemplo, "us-central1"
  • ENDPOINT_ID por tu ID de extremo
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

En estos comandos, reemplaza lo siguiente:

  • PROJECT_ID por el nombre del proyecto
  • LOCATION_ID por la región en la que implementaste el modelo y el extremo
  • ENDPOINT_ID por el ID del extremo
  • MODEL_ID con el ID del modelo del comando list model
  • DEPLOYED_MODEL_ID por el ID del modelo implementado
  1. Ejecuta el comando gcloud ai endpoints list para encontrar el ID del extremo asociado con tu implementación.

    gcloud ai endpoints list \
        --project=PROJECT_ID \
        --region=LOCATION_ID
    
  2. Ejecuta el comando gcloud ai models list para encontrar el ID del modelo.

    gcloud ai models list \
        --project=PROJECT_ID \
        --region=LOCATION_ID
    
  3. Usa el ID del modelo del comando anterior para obtener el ID del modelo implementado. Para ello, ejecuta el comando gcloud ai models describe.

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

    El resultado abreviado se ve como en el siguiente ejemplo. En el resultado, el ID se llama 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. Ejecuta el comando gcloud ai endpoints undeploy-model para anular la implementación del modelo desde el extremo con el ID del extremo y el ID del modelo implementado de los comandos anteriores.

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

    Este comando no produce resultados.

Console

  1. En la consola de Google Cloud, ve a la pestaña Extremos en la página Predicción en línea.

    Ir a Endpoints

  2. En la lista desplegable Región, elige la región en la que se encuentra tu extremo.

  3. Haz clic en el nombre del extremo para abrir la página de detalles.

  4. En la fila del modelo, haz clic en Acciones y, luego, selecciona Anular la implementación del modelo en el extremo.

  5. En el cuadro de diálogo Anular la implementación del modelo desde el extremo, haz clic en Anular la implementación.

Borrar extremos

Borra el extremo de Vertex AI que se asoció con la implementación de tu modelo.

SDK de Vertex AI para Python

Si deseas obtener información para instalar o actualizar el SDK de Vertex AI para Python, consulta Instala el SDK de Vertex AI para Python. Si deseas obtener más información, consulta la documentación del SDK de Vertex AI de referencia de la API de Vertex para Python.

En tu código, reemplaza lo siguiente:

  • PROJECT_ID por el ID del proyecto.
  • LOCATION con tu región, por ejemplo, "us-central1"
  • ENDPOINT_ID por tu ID de extremo
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

En estos comandos, reemplaza lo siguiente:

  • PROJECT_ID por el nombre del proyecto
  • LOCATION_ID por la región en la que implementaste el modelo y el extremo
  • ENDPOINT_ID por el ID del extremo
  1. Ejecuta el comando gcloud ai endpoints list para obtener el ID del extremo que quieres borrar. Este comando muestra una lista de los IDs de los extremos de todos los extremos de tu proyecto.

    gcloud ai endpoints list \
        --project=PROJECT_ID \
        --region=LOCATION_ID
    
  2. Ejecuta el comando gcloud ai endpoints delete para borrar el extremo.

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

    Cuando se le solicite, escriba y para confirmar. Este comando no produce resultados.

Console

  1. En la consola de Google Cloud, ve a la pestaña Extremos en la página Predicción en línea.

    Ir a Endpoints

  2. En la lista desplegable Región, elige la región en la que se encuentra el extremo.

  3. Al final de la fila del extremo, haz clic en Acciones y, luego, selecciona Borrar extremo.

  4. En el mensaje de confirmación, haz clic en Confirmar.

Borrar modelos

Borra el recurso del modelo que se asoció con la implementación del modelo.

SDK de Vertex AI para Python

Si deseas obtener información para instalar o actualizar el SDK de Vertex AI para Python, consulta Instala el SDK de Vertex AI para Python. Si deseas obtener más información, consulta la documentación del SDK de Vertex AI de referencia de la API de Vertex para Python.

En tu código, reemplaza lo siguiente:

  • PROJECT_ID por el ID del proyecto.
  • LOCATION con tu región, por ejemplo, "us-central1"
  • MODEL_ID por el ID de tu modelo
from google.cloud import aiplatform

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

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

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

gcloud

En estos comandos, reemplaza lo siguiente:

  • PROJECT_ID por el nombre del proyecto
  • LOCATION_ID por la región en la que implementaste el modelo y el extremo
  • MODEL_ID con el ID del modelo del comando list model
  1. Ejecuta el comando gcloud ai models list para encontrar el ID del modelo que deseas borrar.

    gcloud ai models list \
        --project=PROJECT_ID \
        --region=LOCATION_ID
    
  2. Ejecuta el comando gcloud ai models delete para borrar el modelo. Para ello, proporciona el ID y la ubicación del modelo.

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

Console

  1. Ve a la página Model Registry desde la sección Vertex AI en la consola de Google Cloud.

    Ir a la página Model Registry

  2. En la lista desplegable Región, elige la región en la que implementaste tu modelo.

  3. En la fila de tu modelo, haz clic en Acciones y, luego, selecciona Borrar modelo.

    Cuando borras el modelo, todas las versiones y evaluaciones de modelo asociadas se borran de tu Google Cloud proyecto.

  4. En el mensaje de confirmación, haz clic en Borrar.

Visualiza ejemplos de código

La mayoría de las tarjetas de modelo para los modelos de soluciones específicos para tareas contienen muestras de código que puedes copiar y probar.

  1. En la consola de Google Cloud, ve a la página Model Garden.

    Ir a Model Garden

  2. Busca un modelo compatible del que desees ver muestras de código y haz clic en la pestaña Documentación.

  3. La página se desplaza hasta la sección de documentación con un código de muestra incorporado.

Crea una app de vision

Las tarjetas de modelo para los modelos de Vision artificial aplicables admiten la creación de una aplicación de vision.

  1. En la consola de Google Cloud, ve a la página Model Garden.

    Ir a Model Garden

  2. Busca un modelo de vision en la sección de soluciones específicas para tareas que desees usar para crear una aplicación de vision y haz clic en Ver detalles.

  3. Haz clic en Crear app.

    Se te redireccionará a Vertex AI Vision.

  4. En Nombre de la aplicación, ingresa un nombre para tu aplicación y haz clic en Continuar.

  5. Selecciona un plan de facturación y haz clic en Crear.

    Se te redireccionará a Vertex AI Vision Studio, en la que puedes seguir creando tu aplicación de Vision artificial.