Crie uma aplicação

Esta página mostra como criar uma app e combinar componentes, como streams de entrada, modelos para análise e armazéns para armazenamento, para utilização na plataforma de apps do Vertex AI Vision.

Para criar uma app, tem de considerar as suas origens de dados, a análise que quer fazer e como quer armazenar os resultados. Uma app de ponta a ponta pode ter diferentes formas consoante o seu exemplo de utilização. Consequentemente, a forma como cria uma app depende do seu objetivo.

Antes de começar, avalie o seu exemplo de utilização e objetivo na perspetiva da IA responsável e considere o impacto que os seus modelos e aplicações podem ter nos utilizadores finais quando algo corre mal. Leia mais sobre os primeiros passos na avaliação do seu exemplo de utilização para garantir a equidade. Certifique-se também de que a sua utilização do Vertex AI Vision está em conformidade com os Termos de Utilização da Google Cloud ou uma variante offline, e os termos de URL incorporados, como a Política de Utilização Aceitável da Google Cloud. Google CloudGoogle Cloud

À medida que cria a sua aplicação, tenha em atenção que as tecnologias de visão de IA têm o potencial de reforçar ou introduzir preconceitos injustos e de afetar os direitos humanos fundamentais. O desenvolvimento da sua aplicação deve envolver uma reflexão ética baseada nos valores da sua empresa e a devida diligência legal para o seu exemplo de utilização específico, incluindo exemplos de utilização de alto risco. Tal como acontece com todas as tecnologias, tem de considerar todas as leis e regulamentos aplicáveis que regem a sua utilização de tecnologias de IA/AM na região em que está a implementar a tecnologia. Os clientes são responsáveis pela diligência devida necessária para implementar exemplos de utilização considerados de alto risco numa região específica.

Crie uma nova aplicação

Antes de poder adicionar componentes, como uma stream ou modelos, a uma app, tem de criar a própria app. Todas as apps têm de conter o seguinte para serem implementadas:

  • Um nó de entrada de stream (origem de dados).
  • Pelo menos outro nó de componente, como um modelo ou um armazém.

Crie uma nova aplicação personalizada

Consola

Crie uma app na Google Cloud consola.

  1. Abra o separador Aplicações do painel de controlo do Vertex AI Vision.

    Aceda ao separador Aplicações

  2. Clique no botão Criar.

  3. Introduza um nome para a app e escolha a sua região. Regiões suportadas.

  4. Clique em Criar.

Crie uma aplicação com um modelo

Consola

Crie uma app na Google Cloud consola.

  1. Abra o separador Aplicações do painel de controlo do Vertex AI Vision.

    Aceda ao separador Aplicações

  2. Clique no botão Criar.

  3. Introduza um nome para a app e escolha a sua região. Regiões suportadas.

  4. Clique em Criar.

  5. Na página do criador de aplicações, clique no nó Modelo de aplicação.

  6. No painel de definições lateral, clique no botão Selecionar modelo.

  7. Selecione um modelo no menu pendente.

Adicione uma entrada de stream

Uma aplicação tem de conter um nó de stream de vídeo. Não pode implementar a aplicação se não adicionar um nó Streams.

Se a sua aplicação não estiver implementada, a atualização da entrada de stream é aplicada automaticamente à aplicação. Se a sua app já estiver implementada, tem de anular a implementação e atualizá-la para que as alterações sejam aplicadas. Consulte a secção atualizar uma app para ver mais detalhes.

Consola

Adicione uma stream a uma app na Google Cloud consola.

  1. Abra o separador Aplicações do painel de controlo do Vertex AI Vision.

    Aceda ao separador Aplicações

  2. Clique em Ver app para a sua app.

  3. Na lista lateral de componentes, escolha Streams de vídeo na lista de Conetores. O nó de stream é adicionado ao gráfico da app e é aberto um menu de streams de vídeo lateral.

  4. Selecione Adicionar streams de vídeo.

  5. Se optar por Selecionar a partir de streams existentes, selecione a stream existente e, de seguida, Adicionar streams.

    Se optar por Registar novas streams, adicione um nome para a nova stream e selecione Adicionar streams.

REST

Para adicionar uma stream a uma app, envie um pedido POST através do método projects.locations.applications.addStreamInput.

Antes de usar qualquer um dos dados do pedido, faça as seguintes substituições:

Método HTTP e URL:

POST https://visionai.googleapis.com/v1/projects/PROJECT/locations/LOCATION_ID/applications/APPLICATION_ID:addStreamInput

Corpo JSON do pedido:

{
  "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 o seu pedido, escolha uma destas opções:

curl

Guarde o corpo do pedido num ficheiro com o nome request.json, e execute o seguinte 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

Guarde o corpo do pedido num ficheiro com o nome request.json, e execute o seguinte 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

Deve receber um código de estado de êxito (2xx) e uma resposta vazia.

Adicione entrada de stream com anotações de nós

Quando cria uma stream de entrada de aplicações, pode adicionar anotações à stream através da Vertex AI Vision API. Também pode adicionar anotações a um nó naGoogle Cloud consola.

Consola

O exemplo seguinte adiciona anotações disponíveis (STREAM_ANNOTATION_TYPE_ACTIVE_ZONE e STREAM_ANNOTATION_TYPE_CROSSING_LINE) a um modelo de contagem de ocupação.

  1. Abra o separador Aplicações do painel de controlo do Vertex AI Vision.

    Aceda ao separador Aplicações

  2. Selecione Ver app junto ao nome da sua aplicação na lista.

  3. Na página do criador de aplicações, selecione o modelo com entrada de stream ao qual quer adicionar anotações.

  4. No painel de definições do modelo lateral, expanda a secção "Definições avançadas". Depois de expandir a secção, clique no botão Criar zonas/linhas ativas.

  5. Na vista de galeria de streams, selecione uma stream de entrada para desenhar zonas ativas ou linhas.

  6. Na vista do editor, escolha adicionar linhas com vários pontos ou adicionar polígono simples para adicionar anotações. Use o painel lateral para mudar o nome da zona ou da linha, eliminar zonas/linhas existentes ou inverter a direção da linha.

REST e linha de comandos

O código seguinte adiciona anotações de streams.

Antes de usar qualquer um dos dados do pedido, faça as seguintes substituições:

  • PROJECT: o seu Google Cloud ID do projeto ou número do projeto.
  • LOCATION_ID: A região onde está a usar o Vertex AI Vision. Por exemplo: us-central1, europe-west4. Veja as regiões disponíveis.
  • APPLICATION_ID: o ID da sua aplicação de destino.
  • STREAM_ID: o ID da stream de destino.
  • NODE_NAME: o nome do nó de destino do gráfico de apps. Por exemplo, builtin-occupancy-count.
  • ANNOTATION_ID: o ID da anotação de destino.
  • ANNOTATION_DISPLAYNAME: o nome a apresentar especificado pelo utilizador da anotação de destino.
  • ANNOTATION_TYPE: um dos valores enum disponíveis. Este tipo tem de corresponder ao objeto annotation_payload,activeZone ou crossingLine. Os valores disponíveis são:
    • STREAM_ANNOTATION_TYPE_UNSPECIFIED
    • STREAM_ANNOTATION_TYPE_ACTIVE_ZONE
    • STREAM_ANNOTATION_TYPE_CROSSING_LINE
  • normalizedVertices: cada vértice é especificado por valores de coordenadas x e y. As coordenadas são valores flutuantes normalizados [0,1] relativos à imagem original; 0,0 é X_MIN ou Y_MIN, 1,0 é X_MAX ou Y_MAX.

Método HTTP e URL:

POST https://visionai.googleapis.com/v1/projects/PROJECT/locations/LOCATION_ID/applications/APPLICATION_ID:addStreamInput

Corpo JSON do pedido:

{
  "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 o seu pedido, escolha uma destas opções:

curl

Guarde o corpo do pedido num ficheiro com o nome request.json, e execute o seguinte 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

Guarde o corpo do pedido num ficheiro com o nome request.json, e execute o seguinte 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

Deve receber um código de estado de êxito (2xx) e uma resposta vazia.

Remova a entrada de stream

REST

Para remover uma stream de uma app, envie um pedido POST através do método projects.locations.applications.removeStreamInput.

Antes de usar qualquer um dos dados do pedido, faça as seguintes substituições:

Método HTTP e URL:

POST https://visionai.googleapis.com/v1/projects/PROJECT/locations/LOCATION_ID/applications/APPLICATION_ID:removeStreamInput

Corpo JSON do pedido:

{
  "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 o seu pedido, escolha uma destas opções:

curl

Guarde o corpo do pedido num ficheiro com o nome request.json, e execute o seguinte 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

Guarde o corpo do pedido num ficheiro com o nome request.json, e execute o seguinte 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

Deve receber um código de estado de êxito (2xx) e uma resposta vazia.

Adicione um modelo do Vertex AI Vision pré-preparado

Depois de criar uma app, pode adicionar um modelo e associá-lo a streams, outros modelos ou um armazém de multimédia.

Existem dois tipos de modelos: modelos pré-preparados ou modelos preparados pelo utilizador. Da mesma forma, os modelos preparados pelo utilizador também podem ser de dois tipos: AutoML ou preparados de forma personalizada:

  • Os modelos pré-preparados cumprem um objetivo específico, são preparados com dados generalizados e estão prontos a usar.
  • Os modelos personalizados ou do AutoML preparados pelo utilizador requerem que identifique e forneça dados de exemplo e, em seguida, prepare modelos mais adequados ao seu exemplo de utilização exclusivo. Prepara estes modelos com o Vertex AI, um produto que oferece duas opções de preparação: modelos preparados com o AutoML e modelos preparados de forma personalizada. Consulte o artigo Escolha um método de preparação para mais informações.

Siga estas instruções para adicionar um modelo Vertex AI Vision pré-preparado ao seu gráfico de apps.

Consola

  1. Abra o separador Aplicações do painel de controlo do Vertex AI Vision.

    Aceda ao separador Aplicações

  2. Selecione Ver app junto ao nome da sua aplicação na lista.

  3. Na página do criador de aplicações, selecione o modelo que quer adicionar a partir da lista Modelos de IA. Cada modelo tem definições de configuração individuais.

  4. Para associar este modelo a um nó de origem de entrada, selecione o nó de origem e selecione Adicionar saída.

  5. Selecione o nó do modelo de IA recém-criado na lista de nós disponíveis.

Adicione um modelo do Vertex AI preparado pelo utilizador

Depois de criar uma app, pode adicionar um modelo e associá-lo a streams, outros modelos ou um armazém de multimédia.

Existem dois tipos de modelos: modelos pré-preparados ou modelos preparados pelo utilizador. Da mesma forma, os modelos preparados pelo utilizador também podem ser de dois tipos: AutoML ou preparados de forma personalizada:

  • Os modelos pré-preparados cumprem um objetivo específico, são preparados com dados generalizados e estão prontos a usar.
  • Os modelos personalizados ou do AutoML preparados pelo utilizador requerem que identifique e forneça dados de exemplo e, em seguida, prepare modelos mais adequados ao seu exemplo de utilização exclusivo. Prepara estes modelos com o Vertex AI, um produto que oferece duas opções de preparação: modelos preparados com o AutoML e modelos preparados de forma personalizada. Consulte o artigo Escolha um método de preparação para mais informações.

Adicione um modelo de streaming de deteção de objetos do Vertex AI AutoML

Use as instruções seguintes para adicionar um modelo de streaming de deteção de objetos do Vertex AI AutoML que prepara ao gráfico da sua app.

Antes de poder preparar um modelo do Vertex AI AutoML, tem de preparar os dados de deteção de objetos e criar um conjunto de dados.

Prepare um modelo para usar no Vertex AI Vision

Depois de criar um conjunto de dados com uma recolha representativa de dados no Vertex AI, pode preparar um modelo para usar no Vertex AI Vision.

Consola

  1. Na Google Cloud consola, no painel de controlo do Vertex AI, aceda à página Conjuntos de dados.

    Aceda à página Conjuntos de dados

  2. Clique no nome do conjunto de dados que quer usar para formar o modelo e abrir a respetiva página de detalhes.

  3. Se o seu tipo de dados usar conjuntos de anotações, selecione o conjunto de anotações que quer usar para este modelo.

  4. Clique em Formar novo modelo.

  5. Na página Preparar novo modelo, conclua os seguintes passos para o seu modelo de deteção de objetos de imagem do AutoML:

    1. Na secção Método de preparação do modelo, escolha AutoML.

    2. Na secção Escolha onde usar o modelo, selecione Vertex AI Vision.

    3. Clique em Continuar.

    4. Preencha os valores das secções Detalhes do modelo, Opções de preparação e Cálculo e preços. Consulte o artigo Prepare um modelo do AutoML (consolaGoogle Cloud ) para ver informações mais detalhadas.

    5. Clique em Iniciar preparação.

      A preparação do modelo pode demorar muitas horas, consoante a dimensão e a complexidade dos seus dados e o orçamento de preparação, se tiver especificado um. Pode fechar este separador e regressar a ele mais tarde. Vai receber um email quando o modelo tiver concluído o treino.

Adicione o modelo preparado à sua app

Depois de a preparação do modelo estar concluída, pode adicioná-lo à sua app Vertex AI Vision.

Consola

  1. Abra o separador Aplicações do painel de controlo do Vertex AI Vision.

    Aceda ao separador Aplicações

  2. Selecione Ver app junto ao nome da sua aplicação na lista.

  3. Na página do criador de aplicações, selecione Adicionar modelo do Vertex AI na lista de componentes laterais. Se selecionar esta opção, é aberto um menu lateral.

  4. No menu Adicionar modelo do Vertex AI, deixe a opção Importar um modelo com preparação do Vertex AI selecionada e, de seguida, escolha o modelo na lista de modelos do Vertex AI AutoML existentes.

  5. Depois de escolher o modelo a importar, selecione Adicionar modelo.

    Depois de clicar no botão Adicionar modelo, é apresentado um modelo pendente no lado da página do criador de gráficos. Após alguns segundos, o modelo está pronto a ser usado.

Adicione um modelo personalizado da Vertex AI

Também pode importar modelos preparados de forma personalizada do Vertex AI para o Vertex AI Vision para usar na análise de dados. Estes modelos personalizados preparados têm de ter as seguintes propriedades:

  • O modelo tem de ser sem estado, uma vez que a entrada do modelo são as imagens provenientes de diferentes instâncias da aplicação (streams) e podem estar desordenadas. Se precisar de processamento de streaming com estado, pode ter de manter os estados no seu próprio contentor.
  • O tamanho da entrada do seu modelo está limitado a 1,5 MB. Consequentemente, o Vertex AI Vision tem de comprimir a imagem RGB original num formato com perdas, como JPG.

Siga as instruções abaixo para adicionar um modelo de vídeo personalizado do Vertex AI existente que treinou ao gráfico da app.

Para obter informações sobre como criar um modelo preparado de forma personalizada do Vertex AI com um contentor personalizado, consulte o artigo Use um contentor personalizado para a previsão.

Especifique um ficheiro YAML de instâncias

Quando adiciona um modelo preparado de forma personalizada da Vertex AI, tem de especificar um ficheiro YAML de instâncias (instances.yaml) armazenado no Cloud Storage. Este ficheiro especifica a entrada esperada para o contentor do modelo.

A Vertex AI envia o pedido de previsão num formato:

{
  "instances": [
    <value>|<simple/nested list>|<object>,
    ...
  ]
}

Aqui, instances.yaml define o esquema da carga útil. Para mais informações, consulte Obtenha previsões online a partir de modelos personalizados.

O Vertex AI Vision só suporta modelos preparados de forma personalizada com exatamente uma entrada de previsão denominada. Este tipo de entrada tem de ser uma string JPEG codificada. O esquema da entrada de previsão tem de ser especificado com o ficheiro YAML do esquema de instâncias. Este ficheiro YAML de esquema tem de estar no formato de um objeto de esquema OpenAPI.

Por exemplo, o esquema seguinte recebe o pedido com a imagem codificada num campo denominado image_bytes:

properties:
  image_bytes:
    type: string

O seu modelo personalizado recebe a entrada de previsão no seguinte formato:

{
  "instances": [
    {
      "image_bytes" : {
        "b64": "BASE64_ENCODED_IMAGE_BYTES"
      }
    }
  ]
}

Antes de importar o modelo para o Vertex AI Vision, verifique se o modelo funciona corretamente com esta entrada.

Especifique um ficheiro YAML de previsões

Quando adiciona um modelo preparado personalizado da Vertex AI, pode especificar um ficheiro YAML de previsões (predictions.yaml) armazenado no Cloud Storage. Este ficheiro especifica o resultado do contentor do modelo.

Este ficheiro é opcional, mas recomendado para informar o Vertex AI Vision sobre a estrutura de saída do seu modelo. Por exemplo, o seguinte ficheiro classification_1.0.0.yaml descreve as informações de saída do modelo para um modelo de classificação de imagens:

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

Adicione o modelo personalizado

Use o exemplo seguinte para adicionar o modelo preparado de forma personalizada do Vertex AI à sua app.

Consola

  1. Abra o separador Aplicações do painel de controlo do Vertex AI Vision.

    Aceda ao separador Aplicações

  2. Selecione Ver app junto ao nome da sua aplicação na lista.

  3. Na página do criador de aplicações, selecione Adicionar modelo do Vertex AI na lista de componentes laterais. Se selecionar esta opção, é aberto um menu lateral.

  4. No menu Adicionar modelo do Vertex AI, deixe a opção Importar um modelo com preparação do Vertex AI selecionada e, de seguida, escolha o modelo na lista de modelos do Vertex AI AutoML existentes.

  5. Atribua um nome ao modelo.

  6. Especifique o ficheiro YAML de instâncias no Cloud Storage que define o formato de uma única instância usada em pedidos de previsão e explicação.

  7. Opcional: especifique o ficheiro YAML do esquema de previsões no Cloud Storage que define o formato de uma única previsão ou explicação.

  8. Depois de fornecer o nome do modelo, as instâncias e as informações de previsões, selecione Adicionar modelo.

  9. Depois de clicar no botão Adicionar modelo, é apresentado um modelo pendente no lado da página do criador de gráficos. Após alguns segundos, o modelo está pronto a ser usado.

Opcional. Anexe metadados da aplicação

Além dos bytes de imagem, tem a opção de definir attach_application_metadata para pedir à plataforma de apps Vertex AI Vision que inclua os metadados da aplicação a serem enviados para o contentor personalizado.

Os metadados têm o seguinte esquema:

'appPlatformMetadata': {
     'application': STRING;
     'instanceId': STRING;
     'node': STRING;
     'processor': STRING;
   }

Opcional. Adicione um tópico do Pub/Sub de configuração dinâmica

Para controlar dinamicamente a taxa de frames que o operador personalizado do Vertex envia frames de vídeo para contentores personalizados do Vertex, pode criar um tópico do Pub/Sub. Adicione-o à secção Dynamic Configuration das definições do nó.

configuração dinâmica

Se o tópico Pub/Sub estiver configurado, a velocidade de frames inicial é 0. Durante o processamento de vídeo, pode enviar mensagens do Pub/Sub para o tópico do Pub/Sub no seguinte formato em tempo real para alterar a taxa de frames:

{
  "stream_id": "input-stream-id",
  "fps": 5,
}

O campo stream_id deve corresponder ao ID da stream de entrada da aplicação.

Conta de serviço e autorizações

A credencial de serviço predefinida do contentor personalizado foi configurada para a conta de serviço pertencente à Google da plataforma de apps Vertex AI Vision. Para aceder a outros Google Cloud serviços a partir do contentor, conceda a autorização adequada a: service-<var>PROJECT_NUMBER</var>@gcp-sa-visionai.iam.gserviceaccount.com

Opcional. Modele a notificação de eventos com funções do Cloud Run e o Pub/Sub

No Vertex AI Vision, os modelos recebem dados de multimédia de dispositivos como câmaras, executam previsões de IA nos dados e produzem anotações continuamente. Envia frequentemente esses dados processados para um destino de dados ("data sink"), como um armazém de multimédia ou o BigQuery, para mais tarefas analíticas. No entanto, pode ter um caso em que algumas anotações têm de ser processadas de forma diferente ou as necessidades de anotação são sensíveis ao tempo. As integrações com as funções do Cloud Run e o Pub/Sub ajudam a satisfazer estas necessidades.

Modelos suportados

Os seguintes modelos oferecem a geração de eventos de funções do Cloud Run e integrações de notificações de eventos do Pub/Sub:

Configure funções do Cloud Run para processar a saída do modelo

Para acionar notificações baseadas em eventos, primeiro, tem de configurar funções do Cloud Run para processar a saída do modelo e gerar eventos.

A sua função do Cloud Run liga-se ao modelo e ouve a respetiva saída como ação de pós-processamento. A função do Cloud Run deve devolver um AppPlatformCloudFunctionResponse. Os eventos (appplatformeventbody) são enviados para o tópico Pub/Sub que configurar no passo seguinte.

Para ver uma função de exemplo do Cloud Run, consulte o artigo Ative a notificação de eventos do modelo com o Cloud Functions e o Pub/Sub.

Use as seguintes instruções para enviar o fluxo de saída do modelo para a sua função do Cloud Run:

Consola

  1. Abra o separador Aplicações do painel de controlo do Vertex AI Vision.

    Aceda ao separador Aplicações

  2. Selecione Ver app junto ao nome da sua aplicação na lista.

  3. Clique no modelo suportado para abrir o painel lateral de detalhes do modelo.

  4. Na lista de pós-processamento da secção Notificação de eventos, selecione a sua função do Cloud Run existente ou crie uma nova.

    Selecione a imagem da função do Cloud de pós-processamento na Cloud Console

Ative a notificação de eventos do modelo com o Pub/Sub

Depois de configurar as funções do Cloud Run para processar o resultado do modelo e gerar eventos, pode configurar a notificação de eventos com o Pub/Sub. Para ler mensagens de um tópico, também tem de escolher e criar uma subscrição do Pub/Sub.

Consola

  1. Abra o separador Aplicações do painel de controlo do Vertex AI Vision.

    Aceda ao separador Aplicações

  2. Selecione Ver app junto ao nome da sua aplicação na lista.

  3. Clique no modelo suportado para abrir o painel lateral de detalhes do modelo.

  4. Na secção Notificação de eventos, selecione Configurar notificação de eventos.

  5. Na janela de opção Configurar o Pub/Sub para notificações de eventos que é aberta, escolha o tópico Pub/Sub existente ou crie um novo.

  6. No campo Frequência, defina um valor inteiro para o valor de frequência em segundos em que pode ser enviada uma notificação para o mesmo tipo de evento.

    Configure a imagem de notificação de eventos na Cloud Console

  7. Clique em Configurar.

Associe a saída do modelo a um nó a jusante

Depois de criar um nó de modelo, pode ligar a respetiva saída a outro nó.

Consola

  1. Abra o separador Aplicações do painel de controlo do Vertex AI Vision.

    Aceda ao separador Aplicações

  2. Selecione Ver app junto ao nome da sua aplicação na lista.

  3. Clique num nó de modelo que produza dados no criador de gráficos de aplicações (por exemplo, o nó de modelo Occupancy Count).

  4. No painel de definições lateral, clique no botão Adicionar saída.

  5. Adicione uma nova saída e escolha um novo nó de saída para adicionar ou selecione um Nó disponível existente para enviar a saída.

Associe a saída a um destino de dados

Depois de criar a stream de carregamento de dados e adicionar os nós de processamento à sua app, tem de escolher para onde enviar os dados processados. Este destino de dados é o ponto final do gráfico da sua app que aceita dados de stream sem produzir dados de stream. O destino que escolher depende da forma como usa os dados de saída da app.

Imagem de nós de conetor
Na Google Cloud consola, os destinos de dados estão disponíveis na secção Conetores da página do gráfico de apps.

Pode associar os dados de saída da app aos seguintes destinos de dados:

  1. Vision Warehouse: armazene dados de vídeo originais ou analisados que pode ver e consultar.

    Para mais informações sobre o envio de dados de saída da app para um armazém do Vision, consulte o artigo Associe e armazene dados num armazém.

  2. BigQuery: armazene dados no BigQuery para usar as respetivas capacidades de estatísticas offline.

    Para mais informações sobre o envio de dados de saída da app para o BigQuery, consulte o artigo Associe e armazene dados no BigQuery.

  3. Dados de streams em direto: se quiser um controlo mais detalhado para agir com base em estatísticas em tempo real, pode receber o resultado em direto da sua app.

    Para mais informações sobre o streaming direto de dados de saída da app, consulte o artigo Ative a saída de streams em direto.

Atualize uma app

Apps não implementadas

Faça as modificações que quiser à app (como adicionar ou remover nós de componentes). O Vertex AI Vision armazena automaticamente as alterações.

O que se segue?

  • Saiba como implementar a sua app para carregar e analisar dados em Implementar uma aplicação.
  • Leia as instruções sobre como iniciar a ingestão de dados a partir da stream de entrada de uma app em Criar e gerir streams.
  • Saiba como listar apps e ver as instâncias de uma app implementada em Gerir aplicações.
  • Saiba como ler dados de entrada de apps a partir de uma stream de carregamento ou dados de saída de modelos analisados em Ler dados de stream.