Depois de criar o stream de ingestão de dados e adicionar os nós de processamento ao app, você deve escolher para onde enviar os dados processados. Uma opção é receber a saída do app de transmissão ao vivo diretamente para que você possa agir com base nessas análises em tempo real.
Em geral, você configura o app para armazenar a saída do modelo em um
Google Cloud data warehouse, como o Media Warehouse da Vision da plataforma de agentes do Gemini Enterprise ou o BigQuery.
Depois que os dados são armazenados em um desses warehouses, eles podem ser usados para jobs analíticos off-line com base no gráfico do aplicativo. No entanto, também é possível receber as saídas do modelo em uma transmissão ao vivo. Você pode fazer com que a Vision da plataforma de agentes do Gemini Enterprise encaminhe as saídas do modelo para um recurso de stream e usar a ferramenta de linha de comando (vaictl) ou a API Vision da plataforma de agentes do Gemini Enterprise para consumi-las em tempo real.
Supondo que você tenha o gráfico de aplicativo a seguir com estes três nós:
- O nó de origem de dados "Input Stream" (
input-stream) - O nó de processamento "Occupancy Count" (
occupancy-count) - O nó de destino de saída do app "Media Warehouse" (
warehouse)
A saída do app é enviada do stream para o processo de contagem de ocupação e, em seguida, para o Media Warehouse da Vision da plataforma de agentes do Gemini Enterprise, onde é armazenada.
Configuração do app da API :
|
{
"applicationConfigs": {
"nodes": [
{
"displayName": "Input Stream",
"name": "input-stream",
"processor": "builtin:stream-input"
},
{
"displayName": "Occupancy Count",
"name": "occupancy-count",
"nodeConfig": {
"occupancyCountConfig": {
"enablePeopleCounting": true,
"enableVehicleCounting": true
}
},
"parents": [
{
"parentNode": "input-stream"
}
],
"processor": "builtin:occupancy-count"
},
{
"displayName": "Media Warehouse",
"name": "warehouse",
"nodeConfig": {
"mediaWarehouseConfig": {
"corpus": "projects/PROJECT_ID/locations/LOCATION_ID/corpora/CORPUS_ID",
"ttl": "86400s"
}
},
"parents": [
{
"parentNode": "input-stream"
},
{
"parentNode": "occupancy-count"
}
],
"processor": "builtin:media-warehouse"
}
]
}
} |
Ativar a saída de stream (Google Cloud console)
Console
Abra a guia Aplicativos do painel da Vision da plataforma de agentes do Gemini Enterprise.
Selecione Ver gráfico ao lado do nome do aplicativo na lista.
Na página do criador de gráficos de aplicativos, clique no botão Implantar.
No menu de opções Implantar aplicativo que é aberto, selecione Ativar streaming de saída.

No menu suspenso Modelos correspondente, selecione os modelos para os quais você quer ativar a saída de streaming.
Clique em Implantar.
Ativar a saída de stream (API)
Atualizar o nó do app
É possível atualizar a configuração de um app na linha de comando para que um nó de modelo envie a saída especificamente para um stream.
Depois de concluir esta etapa, você terá a opção de atualizar a instância do app para especificar o recurso de stream que recebe os dados de saída do nó de análise.
REST
Este exemplo usa o projects.locations.applications.patch
método. Essa solicitação atualiza a configuração do app da API do app de exemplo anterior
para que o nó occupancy-count envie anotações de saída
para um stream da Vision da plataforma de agentes do Gemini Enterprise. Esse comportamento é ativado pelo
output_all_output_channels_to_stream campo.
Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:
- PROJECT: o ID ou número do projeto Google Cloud .
- LOCATION_ID: a região em que você está usando
a Vision da plataforma de agentes. Por exemplo:
us-central1,europe-west4. Consulte as regiões disponíveis. - APPLICATION_ID: o ID do aplicativo de destino.
Método HTTP e URL:
PATCH https://visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/applications/APPLICATION_ID
Corpo JSON da solicitação:
{
"applicationConfigs": {
"nodes": [
{
"displayName": "Input Stream",
"name": "input-stream",
"processor": "builtin:stream-input"
},
{
"displayName": "Occupancy Count",
"name": "occupancy-count",
"nodeConfig": {
"occupancyCountConfig": {
"enablePeopleCounting": true,
"enableVehicleCounting": true
}
},
"parents": [
{
"parentNode": "input-stream"
}
],
"processor": "builtin:occupancy-count",
"output_all_output_channels_to_stream": true
}
]
}
}
Para enviar a solicitação, escolha uma destas opções:
curl
Salve o corpo da solicitação em um arquivo com o nome request.json e execute o comando a seguir:
curl -X PATCH \
-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_NUMBER/locations/LOCATION_ID/applications/APPLICATION_ID"
PowerShell
Salve o corpo da solicitação em um arquivo com o nome request.json,
e execute o comando a seguir:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method PATCH `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/applications/APPLICATION_ID" | Select-Object -Expand Content
200 OK sem erros, e o serviço atualizará o recurso do aplicativo de acordo.
Atualizar a instância do app
O exemplo anterior mostra como atualizar o app, o que permite que o nó de destino envie a saída para um stream. Depois de ativar essa opção, você pode atualizar a instância do app para especificar o recurso de stream que recebe os dados de saída do nó de análise.
Se você não especificar um stream com esse comando, a plataforma do app continuará usando um stream padrão criado quando o nó do app é implantado.
É necessário criar um recurso de stream para o qual o nó envia a saída
antes de enviar a solicitação a seguir.
REST
Este exemplo usa o
projects.locations.applications.updateApplicationInstances
método. Essa solicitação usa a configuração atualizada do app da API do app de exemplo anterior. O comando de atualização anterior definiu o nó occupancy-count para poder enviar anotações de saída para um stream da Vision da plataforma de agentes do Gemini Enterprise. Esse comando
atualiza a instância do app para enviar os dados desse nó produtor occupancy-count
para um recurso de stream atual.
Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:
- PROJECT: o ID ou número do projeto Google Cloud .
- LOCATION_ID: a região em que você está usando
a Vision da plataforma de agentes. Por exemplo:
us-central1,europe-west4. Consulte as regiões disponíveis. - APPLICATION_ID: o ID do aplicativo de destino.
inputResources: o recurso (ou recursos) de entrada da instância do aplicativo atual. É uma matriz de objetos que contêm os seguintes campos:consumerNode: o nome do nó do gráfico que recebe o recurso de entrada.inputResource: o nome completo do recurso de entrada.
outputResources.outputResource: o recursostreampara a saída de dados do app.outputResources.producerNode: o nome do nó produtor de saída do app. Neste exemplo esse é o nó de análise,occupancy-count.- INSTANCE_ID: o ID da instância do app.
Método HTTP e URL:
POST https://visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/applications/APPLICATION_ID:updateApplicationInstances
Corpo JSON da solicitação:
{
"applicationInstances": [
{
"instance": {
"inputResources": [
{
"consumerNode": "input-stream",
"inputResource": "projects/PROJECT_NUMBER/locations/LOCATION_ID/clusters/application-cluster-0/streams/INPUT_STREAM_ID"
}
],
"outputResources":[
{
"outputResource": "projects/PROJECT_NUMBER/locations/LOCATION_ID/clusters/application-cluster-0/streams/OUTPUT_STREAM_ID",
"producerNode": "occupancy-count"
}
]
},
"instanceId": INSTANCE_ID
}
]
}
Para enviar a solicitação, escolha uma destas opções:
curl
Salve o corpo da solicitação em um arquivo com o nome request.json e execute o comando a seguir:
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_NUMBER/locations/LOCATION_ID/applications/APPLICATION_ID:updateApplicationInstances"
PowerShell
Salve o corpo da solicitação em um arquivo com o nome request.json,
e execute o comando a seguir:
$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_NUMBER/locations/LOCATION_ID/applications/APPLICATION_ID:updateApplicationInstances" | Select-Object -Expand Content
200 OK sem erros, e o serviço atualizará a instância do aplicativo de acordo.