Usa modelos en Model Garden

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

Envía mensajes 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 forma programática.

Para obtener más información sobre cómo configurar el SDK de IA generativa de Google o Google Cloud CLI, consulta la descripción general del SDK de IA generativa de Google o Instala Google Cloud CLI.

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. Para obtener más información, consulta la documentación de referencia de la API de Python.

  1. Enumera los modelos que puedes implementar y registra el ID del modelo que deseas implementar. De manera opcional, puedes enumerar los modelos de Hugging Face compatibles en Model Garden y, incluso, filtrarlos por nombre. 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. Consulta las especificaciones de implementación de un modelo con el ID del modelo del paso anterior. Puedes ver el tipo de máquina, el tipo de acelerador y el URI de la imagen de 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. Implementar un modelo en un extremo Model Garden usa la configuración de implementación 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 contabilizan en las cuotas de ese proyecto. Para obtener más información, consulta Configura el proyecto de cuota.

  1. Ejecuta el comando gcloud ai model-garden models list para enumerar los modelos que puedes implementar. Este comando enumera todos los IDs de modelos y los que puedes implementar por tu cuenta.

    gcloud ai model-garden models list
    

    En el resultado, busca el ID del modelo que se 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
    

    La salida no incluye ningún modelo ajustado ni modelos de Hugging Face. Para ver qué modelos de Hugging Face son compatibles, agrega la marca --can-deploy-hugging-face-models.

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

    gcloud 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 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 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: Es el ID del modelo del comando de lista anterior. En el caso de los modelos de Hugging Face, usa el formato de URL del 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 ayudar a mejorar el rendimiento cuando trabajes 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 tu reserva. Si especificas una reserva específica, no puedes especificar any-reservation.

    El resultado incluye la configuración de la 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 detalles sobre tu implementación, ejecuta el comando gcloud ai endpoints list --list-model-garden-endpoints-only:

    gcloud 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 a partir de Model Garden y contiene información como el ID del extremo, el nombre del extremo y si el extremo está asociado a un modelo implementado. Para encontrar tu implementación, busca el nombre del extremo que se devolvió en el comando anterior.

REST

Enumera todos los modelos que se pueden implementar 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, por ejemplo, establecer un tipo de máquina específico o usar un extremo dedicado.

1. Enumera los 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://us-central1-aiplatform.googleapis.com/v1/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://us-central1-aiplatform.googleapis.com/v1/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://us-central1-aiplatform.googleapis.com/v1/publishers/*/models?QUERY_PARAMETERS" | Select-Object -Expand Content

Recibirás una respuesta JSON similar a la siguiente.

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

Recibirás una respuesta JSON similar a la siguiente.

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

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

Recibirás una respuesta JSON similar a la siguiente.

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

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: 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 ayudar a mejorar el rendimiento cuando trabajes 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 de Compute Engine existente para tu implementación, especifica cualquier reserva o una específica. Si especificas este valor, no especifiques spot.
  • spot: Indica si se usarán 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: Argumentos para pasar al contenedor durante la implementación.
  • CONTAINER_PORT: Número de puerto para tu contenedor.
  • fast_tryout_enabled: Cuando pruebes un modelo, puedes optar por usar una implementación más rápida. Esta opción solo está disponible para los modelos más usados con ciertos tipos de máquinas. Si está habilitado, no puedes especificar configuraciones de implementación ni de modelos.

Método HTTP y URL:

POST https://LOCATION-aiplatform.googleapis.com/v1/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/v1/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/v1/projects/PROJECT_ID/locations/LOCATION:deploy" | Select-Object -Expand Content

Recibirás una respuesta JSON similar a la siguiente.

{
  "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. 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. Usar o modificar los nombres del modelo y del extremo generados
    2. Selecciona una ubicación para crear el extremo del 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 implementación, selecciona Avanzada.

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

      • Usar automáticamente 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 arroja un error.
      • No usar (opción predeterminada): Vertex AI usa el grupo de recursosGoogle Cloud general. 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 la aceptación de los términos, los requisitos de licencias y los precios específicos de cada socio. Para obtener más información o iniciar el contacto con un socio, consulta la documentación del socio en la tarjeta de modelo de Model Garden y haz clic en Contactar 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 del modelo de Model Garden. Cuando se implementan, los recursos de servicio del modelo se encuentran en un proyecto seguro administrado por Google.

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. Para obtener más información, consulta la documentación de referencia de la API de Python.

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

  • LOCATION: Es 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 proporcionadas por el socio.
  • ACCELERATOR_TYPE: Especifica los aceleradores que se agregarán a tu implementación para ayudar a mejorar el rendimiento cuando trabajes con cargas de trabajo intensivas, como NVIDIA_L4. Debes coincidir con una de las configuraciones proporcionadas por el socio.
  • ACCELERATOR_COUNT: Es la cantidad de aceleradores que se usarán. Debes coincidir con una de las configuraciones proporcionadas por el socio.
  • REQUEST_PAYLOAD: Son los campos y los valores que se incluirán en tu 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 que se pueden implementar 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, por ejemplo, establecer un tipo de máquina específico o usar un extremo dedicado.

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

  • LOCATION: Es 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 proporcionadas por el socio.
  • ACCELERATOR_TYPE: Especifica los aceleradores que se agregarán a tu implementación para ayudar a mejorar el rendimiento cuando trabajes con cargas de trabajo intensivas, como NVIDIA_L4. Debes coincidir con una de las configuraciones proporcionadas por el socio.
  • ACCELERATOR_COUNT: Es la cantidad de aceleradores que se usarán. Debes coincidir con una de las configuraciones proporcionadas por el socio.
  • REQUEST_PAYLOAD: Son los campos y los valores que se incluirán en tu 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 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. 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 obtener predicciones. Consulta la tarjeta de modelo de Model Garden del socio para ver qué métodos de la API se admiten.

    • 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í mismos.

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

  5. Haz clic en Opciones de implementación.

  6. En el panel Implementar en Vertex AI, configura tu 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. Encontrarás instrucciones adicionales en la sección "Documentación" de la tarjeta del modelo.

Ve o administra un extremo

Para ver y administrar tu extremo, ve a la página Predicción en línea de Vertex AI.

Ir a Predicción en línea

Vertex AI muestra todos los extremos de tu proyecto para una región en particular. Haz clic en un extremo para ver sus detalles, como los modelos que se implementaron en él.

Anula la implementación de modelos y borra recursos

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

Anular implementaciones de modelos

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

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. Para obtener más información, consulta la documentación de referencia de la API de 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 con el ID de tu 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 con el ID del extremo
  • MODEL_ID con el ID del modelo del comando list model
  • DEPLOYED_MODEL_ID con el ID del modelo implementado
  1. Para encontrar el ID del extremo asociado a tu implementación, ejecuta el comando gcloud ai endpoints list.

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

    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 ejecutando 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 denomina 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 en 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 Endpoints 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.

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. Para obtener más información, consulta la documentación de referencia de la API de 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 con el ID de tu 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 con el ID del extremo
  1. Ejecuta el comando gcloud ai endpoints list para obtener el ID del extremo que deseas borrar. Este comando enumera 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 Endpoints 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. 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 estaba asociado con la implementación del modelo.

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. Para obtener más información, consulta la documentación de referencia de la API de 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 Google Cloud consola.

    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 proyecto de Google Cloud .

  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.