En esta página se explica cómo crear una aplicación y combinar componentes (como flujos de entrada, modelos de análisis y almacenes de datos) para usarlos en la plataforma de aplicaciones de Vertex AI Vision.
Para crear una aplicación, debes tener en cuenta tus fuentes de datos, el análisis que quieres realizar y cómo quieres almacenar los resultados. Una aplicación integral puede tener diferentes formas en función de tu caso práctico. Por lo tanto, la forma de crear una aplicación dependerá de tu objetivo.
Antes de empezar, evalúa tu caso práctico y tu objetivo desde la perspectiva de la IA responsable y piensa en las consecuencias que pueden sufrir los usuarios finales si tus modelos y aplicaciones no funcionan bien. Consulta más información sobre los primeros pasos para evaluar tu caso práctico en cuanto a la ecuanimidad. También debes asegurarte de que tu uso de Vertex AI Vision cumpla los Términos del Servicio de Google Cloudo una variante sin conexión, así como los términos de las URLs incorporados, como la Política de Uso Aceptable de Google Cloud.
Cuando crees tu aplicación, ten en cuenta que las tecnologías de visión por IA pueden reforzar o introducir sesgos injustos e influir en los derechos humanos fundamentales. El desarrollo de tu aplicación debe incluir una reflexión ética basada en los valores de tu empresa y una diligencia debida legal para tu caso práctico concreto, incluidos los casos prácticos de alto riesgo. Al igual que con todas las tecnologías, debes tener en cuenta todas las leyes y normativas aplicables que rigen tu uso de las tecnologías de IA o aprendizaje automático en la región en la que implementes la tecnología. Los clientes son responsables de las diligencias necesarias para implementar los casos prácticos que se consideren de alto riesgo en una región concreta.
Crear una aplicación
Antes de añadir componentes como un flujo o modelos a una aplicación, debes crear la aplicación. Todas las aplicaciones deben incluir lo siguiente para poder implementarse:
- Un nodo de entrada de flujo (fuente de datos).
- Al menos otro nodo de componente, como un modelo o un almacén.
Crear una aplicación personalizada
Consola
Crea una aplicación en la Google Cloud consola.
Abre la pestaña Aplicaciones del panel de control de Vertex AI Vision.
Haz clic en el botón
Crear.Escribe el nombre de una aplicación y elige tu región. Regiones admitidas
Haz clic en Crear.
Crear una aplicación con una plantilla
Consola
Crea una aplicación en la Google Cloud consola.
Abre la pestaña Aplicaciones del panel de control de Vertex AI Vision.
Haz clic en el botón
Crear.Escribe el nombre de una aplicación y elige tu región. Regiones admitidas
Haz clic en Crear.
En la página del creador de aplicaciones, haz clic en el nodo Plantilla de aplicación.
En el panel de configuración lateral, haz clic en el botón Seleccionar modelo.
Seleccione un modelo en el menú desplegable.
Añadir entrada de flujo
Una aplicación debe contener un nodo de emisión de vídeo. No podrás implementar la aplicación si no añades un nodo Streams.
Si tu aplicación no se ha implementado, la actualización de la entrada de la emisión se aplicará automáticamente a la aplicación. Si tu aplicación ya se ha implementado, debes quitarla y actualizarla para que se apliquen los cambios. Consulta la sección sobre cómo actualizar una aplicación para obtener más información.
Consola
Añada un flujo a una aplicación en la Google Cloud consola.
Abre la pestaña Aplicaciones del panel de control de Vertex AI Vision.
Haz clic en Ver aplicación en la aplicación que quieras.
En la lista lateral de componentes, elige Video streams (Secuencias de vídeo) de la lista de Connectors (Conectores). El nodo de flujo se añade al gráfico de la aplicación y se abre un menú lateral de flujos de vídeo.
Selecciona Añadir flujos de vídeo.
Si eliges
Seleccionar de novedades existentes, selecciona la novedad y, a continuación, Añadir novedades.Si eliges
Registrar nuevos streams, añade un nombre para el nuevo stream y selecciona Añadir streams.
REST
Para añadir un flujo a una aplicación, envía una solicitud POST mediante el método projects.locations.applications.addStreamInput.
Antes de usar los datos de la solicitud, haz las siguientes sustituciones:
- PROJECT: tu Google Cloud ID de proyecto o número de proyecto.
- LOCATION_ID: la región en la que usas Vertex AI Vision. Por ejemplo:
us-central1
,europe-west4
. Consulta las regiones disponibles. - APPLICATION_ID: ID de la aplicación de destino.
- STREAM_ID: ID del flujo de destino.
Método HTTP y URL:
POST https://visionai.googleapis.com/v1/projects/PROJECT/locations/LOCATION_ID/applications/APPLICATION_ID:addStreamInput
Cuerpo JSON de la solicitud:
{ "applicationStreamInputs": [ { "streamWithAnnotation": { "stream": "projects/PROJECT/locations/LOCATION_ID/clusters/application-cluster-0/streams/STREAM_ID" } }, { "streamWithAnnotation": { "stream": "projects/PROJECT/locations/LOCATION_ID/clusters/application-cluster-0/streams/STREAM_ID" } } ] }
Para enviar tu solicitud, elige una de estas opciones:
curl
Guarda el cuerpo de la solicitud en un archivo llamado request.json
y ejecuta el siguiente comando:
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://visionai.googleapis.com/v1/projects/PROJECT/locations/LOCATION_ID/applications/APPLICATION_ID:addStreamInput"
PowerShell
Guarda el cuerpo de la solicitud en un archivo llamado request.json
y ejecuta el siguiente comando:
$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://visionai.googleapis.com/v1/projects/PROJECT/locations/LOCATION_ID/applications/APPLICATION_ID:addStreamInput" | Select-Object -Expand Content
Deberías recibir un código de estado que indique que la operación se ha realizado correctamente (2xx) y una respuesta vacía.
Añadir entradas de flujo con anotaciones de nodos
Cuando creas un flujo de entrada de una aplicación, puedes añadir anotaciones al flujo mediante la API Vertex AI Vision. También puedes añadir anotaciones a un nodo en la Google Cloud consola.
Consola
En el siguiente ejemplo se añaden anotaciones disponibles (STREAM_ANNOTATION_TYPE_ACTIVE_ZONE
y STREAM_ANNOTATION_TYPE_CROSSING_LINE
) a un modelo de recuento de ocupación.
Abre la pestaña Aplicaciones del panel de control de Vertex AI Vision.
Selecciona Ver aplicación junto al nombre de la aplicación en la lista.
En la página del creador de aplicaciones, seleccione el modelo con entrada de flujo al que quiera añadir anotaciones.
En el panel de configuración del modelo lateral, despliega la sección "Configuración avanzada". Después de desplegar la sección, haz clic en el botón Crear zonas o líneas activas.
En la vista de galería de la emisión, selecciona una emisión de entrada para dibujar zonas o líneas activas.
En la vista de edición, elige Añadir líneas de varios puntos o Añadir polígono simple para añadir anotaciones. Usa el panel lateral para cambiar el nombre de la zona o la línea, eliminar zonas o líneas, o cambiar la dirección de la línea.
REST Y LÍNEA DE COMANDOS
El siguiente código añade anotaciones de la emisión.
Antes de usar los datos de la solicitud, haz las siguientes sustituciones:
- PROJECT: tu Google Cloud ID de proyecto o número de proyecto.
- LOCATION_ID: la región en la que usas Vertex AI Vision. Por ejemplo:
us-central1
,europe-west4
. Consulta las regiones disponibles. - APPLICATION_ID: ID de la aplicación de destino.
- STREAM_ID: ID del flujo de destino.
- NODE_NAME: el nombre del nodo de destino del gráfico de la aplicación. Por ejemplo,
builtin-occupancy-count
. - ANNOTATION_ID: el ID de la anotación de destino.
- ANNOTATION_DISPLAYNAME: nombre visible especificado por el usuario de la anotación de destino.
- ANNOTATION_TYPE: uno de los valores de enumeración disponibles. Este tipo debe coincidir con el objeto
annotation_payload
, ya seaactiveZone
ocrossingLine
. Los valores disponibles son:STREAM_ANNOTATION_TYPE_UNSPECIFIED
STREAM_ANNOTATION_TYPE_ACTIVE_ZONE
STREAM_ANNOTATION_TYPE_CROSSING_LINE
normalizedVertices
: cada vértice se especifica mediante los valores de las coordenadas X e Y. Las coordenadas son valores flotantes normalizados [0,1] en relación con la imagen original. 0,0 es X_MIN o Y_MIN, y 1,0 es X_MAX o Y_MAX.
Método HTTP y URL:
POST https://visionai.googleapis.com/v1/projects/PROJECT/locations/LOCATION_ID/applications/APPLICATION_ID:addStreamInput
Cuerpo JSON de la solicitud:
{ "applicationStreamInputs": [ { "streamWithAnnotation": { "stream": "projects/PROJECT/locations/LOCATION_ID/clusters/application-cluster-0/streams/STREAM_ID", "nodeAnnotations": [ { "node": "NODE_NAME", "annotations": [ { "id": "ANNOTATION_ID", "displayName": "ANNOTATION_DISPLAYNAME", "sourceStream": "projects/PROJECT/locations/LOCATION_ID/clusters/application-cluster-0/streams/STREAM_ID", "type": ANNOTATION_TYPE, "activeZone": { "normalizedVertices": { "x": 0.07434944, "y": 0.18061674 }, "normalizedVertices": { "x": 0.64684016, "y": 0.16079295 }, "normalizedVertices": { "x": 0.6047088, "y": 0.92070484 }, "normalizedVertices": { "x": 0.1251549, "y": 0.76651984 } } } ] } ] } } ] }
Para enviar tu solicitud, elige una de estas opciones:
curl
Guarda el cuerpo de la solicitud en un archivo llamado request.json
y ejecuta el siguiente comando:
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://visionai.googleapis.com/v1/projects/PROJECT/locations/LOCATION_ID/applications/APPLICATION_ID:addStreamInput"
PowerShell
Guarda el cuerpo de la solicitud en un archivo llamado request.json
y ejecuta el siguiente comando:
$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://visionai.googleapis.com/v1/projects/PROJECT/locations/LOCATION_ID/applications/APPLICATION_ID:addStreamInput" | Select-Object -Expand Content
Deberías recibir un código de estado que indique que la operación se ha realizado correctamente (2xx) y una respuesta vacía.
Eliminar entrada de flujo
REST
Para quitar un flujo de una aplicación, envía una solicitud POST mediante el método projects.locations.applications.removeStreamInput.
Antes de usar los datos de la solicitud, haz las siguientes sustituciones:
- PROJECT: tu Google Cloud ID de proyecto o número de proyecto.
- LOCATION_ID: la región en la que usas Vertex AI Vision. Por ejemplo:
us-central1
,europe-west4
. Consulta las regiones disponibles. - APPLICATION_ID: ID de la aplicación de destino.
- STREAM_ID: ID del flujo de destino.
Método HTTP y URL:
POST https://visionai.googleapis.com/v1/projects/PROJECT/locations/LOCATION_ID/applications/APPLICATION_ID:removeStreamInput
Cuerpo JSON de la solicitud:
{ "targetStreamInputs": [ { "stream": "projects/PROJECT/locations/LOCATION_ID/clusters/application-cluster-0/streams/STREAM_ID" }, { "stream": "projects/PROJECT/locations/LOCATION_ID/clusters/application-cluster-0/streams/STREAM_ID" } ] }
Para enviar tu solicitud, elige una de estas opciones:
curl
Guarda el cuerpo de la solicitud en un archivo llamado request.json
y ejecuta el siguiente comando:
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://visionai.googleapis.com/v1/projects/PROJECT/locations/LOCATION_ID/applications/APPLICATION_ID:removeStreamInput"
PowerShell
Guarda el cuerpo de la solicitud en un archivo llamado request.json
y ejecuta el siguiente comando:
$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://visionai.googleapis.com/v1/projects/PROJECT/locations/LOCATION_ID/applications/APPLICATION_ID:removeStreamInput" | Select-Object -Expand Content
Deberías recibir un código de estado que indique que la operación se ha realizado correctamente (2xx) y una respuesta vacía.
Añadir un modelo de Vertex AI Vision preentrenado
Después de crear una aplicación, puedes añadir un modelo y conectarlo a flujos, otros modelos o un almacén de contenido multimedia.
Hay dos tipos de modelos: modelos entrenados previamente o modelos entrenados por el usuario. Del mismo modo, los modelos entrenados por el usuario también pueden ser de dos tipos: AutoML o entrenados de forma personalizada.
- Los modelos preentrenados cumplen un objetivo específico, se entrenan con datos generalizados y están listos para usarse.
- Los modelos de AutoML entrenados por el usuario o los modelos entrenados personalizados requieren que identifiques y proporciones datos de ejemplo, y que entrenes modelos que se adapten mejor a tu caso práctico específico. Estos modelos se entrenan con Vertex AI, un producto que ofrece dos opciones de entrenamiento: modelos entrenados con AutoML y modelos entrenados personalizados. Consulta más información en Elegir un método de entrenamiento.
Sigue estas instrucciones para añadir un modelo de Vertex AI Vision preentrenado a tu gráfico de aplicación.
Consola
Abre la pestaña Aplicaciones del panel de control de Vertex AI Vision.
Selecciona Ver aplicación junto al nombre de la aplicación en la lista.
En la página del creador de aplicaciones, selecciona el modelo que quieras añadir de la lista Modelos de IA. Cada modelo tiene ajustes de configuración individuales.
Para conectar este modelo a un nodo de origen de entrada, selecciona el nodo de origen y, a continuación,
Añadir salida.Selecciona el nodo del modelo de IA que acabas de crear en la lista de Nodos disponibles.
Añadir un modelo de Vertex AI entrenado por el usuario
Después de crear una aplicación, puedes añadir un modelo y conectarlo a flujos, otros modelos o un almacén de contenido multimedia.
Hay dos tipos de modelos: modelos entrenados previamente o modelos entrenados por el usuario. Del mismo modo, los modelos entrenados por el usuario también pueden ser de dos tipos: AutoML o entrenados de forma personalizada.
- Los modelos preentrenados cumplen un objetivo específico, se entrenan con datos generalizados y están listos para usarse.
- Los modelos de AutoML entrenados por el usuario o los modelos entrenados personalizados requieren que identifiques y proporciones datos de ejemplo, y que entrenes modelos que se adapten mejor a tu caso práctico específico. Estos modelos se entrenan con Vertex AI, un producto que ofrece dos opciones de entrenamiento: modelos entrenados con AutoML y modelos entrenados personalizados. Consulta más información en Elegir un método de entrenamiento.
Añadir un modelo de streaming de detección de objetos de AutoML de Vertex AI
Sigue estas instrucciones para añadir a tu gráfico de aplicación un modelo de streaming de detección de objetos de AutoML de Vertex AI que hayas entrenado.
Antes de poder entrenar un modelo de AutoML de Vertex AI, debes preparar los datos de detección de objetos y crear un conjunto de datos.
Entrenar un modelo para usarlo en Vertex AI Vision
Una vez que hayas creado un conjunto de datos representativo en Vertex AI, podrás entrenar un modelo para usarlo en Vertex AI Vision.
Consola
En la Google Cloud consola, en el panel de control de Vertex AI, ve a la página Conjuntos de datos.
Haga clic en el nombre del conjunto de datos que quiera usar para entrenar su modelo y abra su página de detalles.
Si tu tipo de datos usa conjuntos de anotaciones, selecciona el que quieras usar en este modelo.
Haz clic en Entrenar un modelo nuevo.
En la página Entrenar modelo nuevo, sigue estos pasos para tu modelo de detección de objetos de imagen de AutoML:
En la sección Método de entrenamiento del modelo, elige
AutoML.En la sección Elige dónde usar el modelo, selecciona
Vertex AI Vision.Haz clic en Continuar.
Rellena los valores de las secciones Detalles del modelo, Opciones de entrenamiento y Computación y precios. Para obtener información más detallada, consulta Entrenar un modelo de AutoML (consola deGoogle Cloud ).
Haz clic en Start Training (Iniciar entrenamiento).
El entrenamiento del modelo puede llevar muchas horas, en función del tamaño y la complejidad de los datos, así como del presupuesto de entrenamiento, si has especificado uno. Puedes cerrar esta pestaña y volver a ella más adelante. Recibirás un correo cuando tu modelo haya terminado de entrenarse.
Añadir el modelo entrenado a tu aplicación
Una vez que el modelo haya terminado de entrenarse, podrás añadirlo a tu aplicación Vertex AI Vision.
Consola
Abre la pestaña Aplicaciones del panel de control de Vertex AI Vision.
Selecciona Ver aplicación junto al nombre de la aplicación en la lista.
En la página del creador de aplicaciones, selecciona Añadir modelo de Vertex AI en la lista de componentes laterales. Si seleccionas esta opción, se abrirá un menú lateral.
En el menú Añadir modelo de Vertex AI, deje seleccionada la opción
Importar un modelo entrenado de Vertex AI y, a continuación, elija el modelo de la lista de modelos de AutoML de Vertex AI.Después de elegir el modelo que quieres importar, selecciona Añadir modelo.
Después de hacer clic en el botón Añadir modelo, aparecerá un modelo pendiente en el lateral de la página del creador de gráficos. Al cabo de unos segundos, el modelo estará listo para usarse.
Añadir un modelo personalizado de Vertex AI
También puedes importar modelos con entrenamiento personalizado de Vertex AI a Vertex AI Vision para usarlos en el análisis de datos. Estos modelos con entrenamiento personalizado deben tener las siguientes propiedades:
- El modelo debe ser sin estado, ya que la entrada del modelo son las imágenes que proceden de diferentes instancias de la aplicación (streams) y pueden estar desordenadas. Si necesitas un procesamiento de streaming con estado, puede que tengas que mantener los estados en tu propio contenedor.
- El tamaño de la entrada de tu modelo está limitado a 1,5 MB. Por lo tanto, Vertex AI Vision debe comprimir la imagen RGB original en un formato con pérdidas, como JPG.
Sigue estas instrucciones para añadir a tu gráfico de aplicación un modelo de vídeo personalizado de Vertex AI que ya hayas entrenado.
Para obtener información sobre cómo crear un modelo con entrenamiento personalizado de Vertex AI con un contenedor personalizado, consulta Usar un contenedor personalizado para la predicción.
Especificar un archivo YAML de instancias
Cuando añades un modelo entrenado de forma personalizada de Vertex AI, debes especificar un archivo YAML de instancias (instances.yaml
) almacenado en Cloud Storage. Este archivo especifica la entrada esperada del contenedor del modelo.
Vertex AI envía la solicitud de predicción en un formato:
{
"instances": [
<value>|<simple/nested list>|<object>,
...
]
}
Aquí, instances.yaml
define el esquema de la carga útil. Para obtener más información, consulte el artículo Obtener predicciones online a partir de modelos con entrenamiento personalizado.
Vertex AI Vision solo admite modelos entrenados de forma personalizada con exactamente una entrada de predicción con nombre. Este tipo de entrada debe ser una cadena JPEG codificada. El esquema de la entrada de predicción debe especificarse con el archivo YAML del esquema de instancias. Este archivo YAML de esquema debe tener el formato de un objeto de esquema de OpenAPI.
Por ejemplo, el siguiente esquema recibirá la solicitud con la imagen codificada en un campo llamado image_bytes
:
properties:
image_bytes:
type: string
Tu modelo personalizado recibe las entradas de predicción en el siguiente formato:
{
"instances": [
{
"image_bytes" : {
"b64": "BASE64_ENCODED_IMAGE_BYTES"
}
}
]
}
Antes de importar el modelo a Vertex AI Vision, comprueba que funcione correctamente con esta entrada.
Especificar un archivo YAML de predicciones
Cuando añades un modelo entrenado de forma personalizada de Vertex AI, puedes especificar un archivo YAML de predicciones (predictions.yaml
) almacenado en Cloud Storage. Este archivo especifica la salida del contenedor del modelo.
Este archivo es opcional, pero se recomienda para informar a Vertex AI Vision sobre la estructura de salida de tu modelo. Por ejemplo, el siguiente archivo
classification_1.0.0.yaml
describe la información de salida de un modelo de clasificación de imágenes:
title: Classification
type: object
description: >
The predicted AnnotationSpecs.
properties:
ids:
type: array
description: >
The resource IDs of the AnnotationSpecs that had been identified.
items:
type: integer
format: int64
enum: [0] # As values of this enum all AnnotationSpec IDs the Model
# was trained on will be populated.
displayNames:
type: array
description: >
The display names of the AnnotationSpecs that had been identified,
order matches the IDs.
items:
type: string
enum: [""] # As values of this enum all AnnotationSpec display_names
# the Model was trained on will be populated.
confidences:
type: array
description: >
The Model's confidences in correctness of the predicted IDs, higher
value means higher confidence. Order matches the Ids.
items:
type: number
format: float
minimum: 0.0
maximum: 1.0
Añadir el modelo con entrenamiento personalizado
Usa el siguiente ejemplo para añadir el modelo entrenado de forma personalizada de Vertex AI a tu aplicación.
Consola
Abre la pestaña Aplicaciones del panel de control de Vertex AI Vision.
Selecciona Ver aplicación junto al nombre de la aplicación en la lista.
En la página del creador de aplicaciones, selecciona Añadir modelo de Vertex AI en la lista de componentes laterales. Si seleccionas esta opción, se abrirá un menú lateral.
En el menú Añadir modelo de Vertex AI, deje seleccionada la opción
Importar un modelo entrenado de Vertex AI y, a continuación, elija el modelo de la lista de modelos de AutoML de Vertex AI.Asigne un nombre al modelo.
Especifica el archivo YAML de instancias de Cloud Storage que define el formato de una sola instancia utilizada en las solicitudes de predicción y explicación.
Opcional: especifica el archivo YAML del esquema de predicciones en Cloud Storage que define el formato de una sola predicción o explicación.
Después de proporcionar el nombre del modelo, las instancias y la información de las predicciones, seleccione Añadir modelo.
Después de hacer clic en el botón Añadir modelo, aparecerá un modelo pendiente en el lateral de la página del creador de gráficos. Al cabo de unos segundos, el modelo estará listo para usarse.
Opcional. Adjuntar metadatos de la aplicación
Además de los bytes de la imagen, puedes definir attach_application_metadata
para pedirle a la plataforma de aplicaciones Vertex AI Vision que incluya los metadatos de la aplicación que se enviarán al contenedor personalizado.
Los metadatos tienen el siguiente esquema:
'appPlatformMetadata': {
'application': STRING;
'instanceId': STRING;
'node': STRING;
'processor': STRING;
}
Opcional. Añadir un tema de Pub/Sub de configuración dinámica
Para controlar dinámicamente la frecuencia de fotogramas con la que el operador personalizado de Vertex envía fotogramas de vídeo a los contenedores personalizados de Vertex, puedes crear un tema de Pub/Sub. Añádalo a la sección Dynamic Configuration
de la configuración del nodo.
Si el tema de Pub/Sub está configurado, la velocidad de fotogramas inicial es 0. Durante el procesamiento del vídeo, puedes enviar mensajes de Pub/Sub al tema de Pub/Sub en tiempo real con el siguiente formato para cambiar la frecuencia de fotogramas:
{
"stream_id": "input-stream-id",
"fps": 5,
}
El campo stream_id
debe coincidir con el ID del flujo de entrada de la aplicación.
Cuenta de servicio y permisos
La credencial de servicio predeterminada del contenedor personalizado se ha configurado en la cuenta de servicio propiedad de Google de la plataforma de aplicaciones Vertex AI Vision.
Para acceder a otros servicios de Google Cloud
desde el contenedor, concede los permisos adecuados a:
service-<var>PROJECT_NUMBER</var>@gcp-sa-visionai.iam.gserviceaccount.com
Opcional. Notificación de eventos de modelos con funciones de Cloud Run y Pub/Sub
En Vertex AI Vision, los modelos reciben datos multimedia de dispositivos como cámaras, ejecutan predicciones de IA en los datos y generan anotaciones de forma continua. Con frecuencia, se envían esos datos procesados a un destino de datos ("receptor de datos"), como un almacén de contenido multimedia o BigQuery, para realizar más tareas analíticas. Sin embargo, puede que haya casos en los que algunas anotaciones deban gestionarse de forma diferente o que las necesidades de anotación sean urgentes. Las integraciones con funciones de Cloud Run y Pub/Sub te ayudan a satisfacer estas necesidades.
Modelos admitidos
Los siguientes modelos ofrecen integraciones de generación de eventos de Cloud Run Functions y de notificaciones de eventos de Pub/Sub:
- Modelo de analíticas de ocupación
- Modelos con entrenamiento personalizado de Vertex AI
Configurar funciones de Cloud Run para procesar la salida del modelo
Para activar notificaciones basadas en eventos, primero debes configurar funciones de Cloud Run para procesar la salida del modelo y generar eventos.
Tu función de Cloud Run se conecta al modelo y escucha su salida
como acción de posprocesamiento. La función de Cloud Run que debes devolver
un AppPlatformCloudFunctionResponse
. Los eventos (appplatformeventbody
) se envían al tema de Pub/Sub que configures en el siguiente paso.
Para ver una función de Cloud Run de ejemplo, consulta Habilitar la notificación de eventos de modelos con Cloud Functions y Pub/Sub.
Sigue estas instrucciones para enviar el flujo de salida del modelo a tu función de Cloud Run:
Consola
Abre la pestaña Aplicaciones del panel de control de Vertex AI Vision.
Selecciona
Ver aplicación junto al nombre de tu aplicación en la lista.Haz clic en el modelo admitido para abrir el panel lateral de detalles del modelo.
En la lista de post-procesamiento de la sección Notificación de eventos, selecciona tu función de Cloud Run o crea una.
Habilitar la notificación de eventos de modelos con Pub/Sub
Una vez que hayas configurado las funciones de Cloud Run para procesar la salida del modelo y generar eventos, puedes configurar las notificaciones de eventos con Pub/Sub. Para leer mensajes de un tema, también debes elegir y crear una suscripción de Pub/Sub.
Consola
Abre la pestaña Aplicaciones del panel de control de Vertex AI Vision.
Selecciona
Ver aplicación junto al nombre de tu aplicación en la lista.Haz clic en el modelo admitido para abrir el panel lateral de detalles del modelo.
En la sección Notificación de eventos, selecciona Configurar notificación de eventos.
En la ventana de opciones Configurar Pub/Sub para las notificaciones de eventos que se abre, elige un tema de Pub/Sub que ya tengas o crea uno.
En el campo Frecuencia, defina un valor entero para la frecuencia en segundos con la que se puede enviar una notificación del mismo tipo de evento.
Haz clic en Configurar.
Conectar la salida de un modelo con un nodo posterior
Después de crear un nodo de modelo, puedes conectar su salida a otro nodo.
Consola
Abre la pestaña Aplicaciones del panel de control de Vertex AI Vision.
Selecciona Ver aplicación junto al nombre de la aplicación en la lista.
Haz clic en un nodo de modelo que genere datos en el creador de gráficos de la aplicación (por ejemplo, el nodo de modelo Recuento de ocupación).
En el panel lateral de configuración, haz clic en el botón Añadir salida.
Añade una salida nueva y elige un nuevo nodo de salida o selecciona un Nodo disponible para enviar la salida.
Conectar la salida a un destino de datos
Después de crear el flujo de ingestión de datos y añadir los nodos de procesamiento a tu aplicación, debes elegir dónde enviar los datos procesados. Este destino de datos es el punto final de tu gráfico de aplicación que acepta datos de flujo sin producir ningún dato de flujo. El destino que elijas dependerá de cómo uses los datos de salida de la aplicación.

Puedes conectar los datos de salida de la aplicación con los siguientes destinos de datos:
Vision Warehouse: almacena datos de vídeo originales o analizados que puedes ver y consultar.
Para obtener más información sobre cómo enviar datos de salida de la aplicación a un almacén de Vision, consulta el artículo Conectar y almacenar datos en un almacén.
BigQuery almacena datos en BigQuery para usar sus funciones de analíticas sin conexión.
Para obtener más información sobre cómo enviar datos de salida de la aplicación a BigQuery, consulta el artículo Conectar y almacenar datos en BigQuery.
Datos de emisiones en directo: si quieres tener un control más granular para tomar medidas en función de las analíticas en tiempo real, puedes recibir la salida en directo de tu aplicación.
Para obtener más información sobre cómo transmitir directamente los datos de salida de la aplicación, consulta Habilitar la salida de la emisión en directo.
Actualizar una aplicación
Aplicaciones no implementadas
Modifica la aplicación (por ejemplo, añade o quita nodos de componentes). Vertex AI Vision almacenará los cambios automáticamente.
Siguientes pasos
- Consulta cómo desplegar tu aplicación para ingerir y analizar datos en Desplegar una aplicación.
- Consulte las instrucciones sobre cómo iniciar la ingestión de datos desde el flujo de entrada de una aplicación en Crear y gestionar flujos.
- Consulta cómo enumerar aplicaciones y ver las instancias de una aplicación implementada en Gestionar aplicaciones.
- Consulte cómo leer los datos de entrada de la aplicación de un flujo de ingestión o los datos de salida del modelo analizado en Leer datos de flujo.