Setelah membuat aliran penyerapan data dan menambahkan node pemrosesan ke aplikasi, Anda harus memilih tempat untuk mengirim data yang diproses. Salah satu opsinya adalah menerima output aplikasi live stream secara langsung sehingga Anda dapat menindaklanjuti analisis real-time ini.
Secara umum, Anda mengonfigurasi aplikasi untuk menyimpan output model ke
Google Cloud data warehouse seperti Media Warehouse Vision Platform Agen Gemini Enterprise atau BigQuery.
Setelah data disimpan di salah satu data warehouse ini, data dapat digunakan untuk tugas analisis offline berdasarkan grafik aplikasi Anda. Namun, Anda juga dapat menerima output model dengan cara live streaming. Anda dapat meminta Vision Platform Agen Gemini Enterprise meneruskan output model ke resource aliran, dan Anda dapat menggunakan alat command line (vaictl) atau Vision Platform Agen Gemini Enterprise API untuk menggunakannya secara real-time.
Dengan asumsi Anda memiliki grafik aplikasi berikut yang memiliki tiga node berikut:
- Node sumber data "Input Stream" (
input-stream) - Node pemrosesan "Occupancy Count" (
occupancy-count) - Node tujuan output aplikasi "Media Warehouse" (
warehouse)
Output aplikasi saat ini dikirim dari aliran ke proses penghitungan okupansi, lalu ke Media Warehouse Vision Platform Agen Gemini Enterprise tempat output disimpan.
Konfigurasi aplikasi 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"
}
]
}
} |
Mengaktifkan output aliran (Google Cloud konsol)
Anda dapat mengaktifkan output aliran di Google Cloud konsol saat pertama kali men-deploy model atau saat Anda menghentikan deployment, lalu men-deploy ulang model.
Konsol
Buka tab Applications di dasbor Vision Platform Agen Gemini Enterprise.
Pilih View graph di samping nama aplikasi Anda dari daftar.
Dari halaman pembuat grafik aplikasi, klik tombol Deploy.
Di menu opsi Deploy application yang terbuka, pilih Enable output streaming.

Dari menu dropdown Model(s) yang sesuai, pilih model yang ingin Anda aktifkan output streaming-nya.
Klik Deploy
Mengaktifkan output aliran (API)
Mengupdate node aplikasi
Anda dapat mengupdate konfigurasi aplikasi di command line sehingga node model secara khusus mengirim output ke aliran.
Setelah menyelesaikan langkah ini, Anda memiliki opsi untuk mengupdate instance aplikasi guna menentukan resource aliran yang menerima data output node analisis.
REST
Contoh ini menggunakan metode projects.locations.applications.patch. Permintaan ini mengupdate konfigurasi aplikasi API dari aplikasi contoh sebelumnya
agar node occupancy-count mengirim anotasi output
ke aliran Vision Platform Agen Gemini Enterprise. Perilaku ini diaktifkan oleh kolom
output_all_output_channels_to_stream.
Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:
- PROJECT: ID project atau nomor project Anda Google Cloud .
- LOCATION_ID: Wilayah tempat Anda menggunakan
Vision Platform Agen. Misalnya:
us-central1,europe-west4. Lihat region yang tersedia. - APPLICATION_ID: ID aplikasi target Anda.
Metode HTTP dan URL:
PATCH https://visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/applications/APPLICATION_ID
Meminta isi JSON:
{
"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
}
]
}
}
Untuk mengirim permintaan Anda, pilih salah satu opsi berikut:
curl
Simpan isi permintaan dalam file bernama request.json,
dan jalankan perintah berikut:
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
Simpan isi permintaan dalam file bernama request.json,
dan jalankan perintah berikut:
$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 tanpa error, dan layanan akan mengupdate resource aplikasi sebagaimana mestinya.
Mengupdate instance aplikasi
Contoh sebelumnya menunjukkan cara mengupdate aplikasi, yang memungkinkan node target mengirim output ke aliran. Setelah mengaktifkan opsi ini, Anda dapat mengupdate instance aplikasi secara opsional untuk menentukan resource aliran yang menerima data output node analisis.
Jika Anda tidak menentukan aliran dengan perintah ini, platform aplikasi akan terus menggunakan aliran default yang dibuat saat node aplikasi di-deploy.
Anda harus membuat resource aliran yang mengirim output node
sebelum Anda mengirim permintaan berikut.
REST
Contoh ini menggunakan metode
projects.locations.applications.updateApplicationInstances
ini. Permintaan ini menggunakan konfigurasi aplikasi API yang diupdate dari aplikasi
contoh sebelumnya. Perintah update sebelumnya menetapkan node occupancy-count agar dapat
mengirim anotasi output ke aliran Vision Platform Agen Gemini Enterprise. Perintah ini
mengupdate instance aplikasi untuk mengirim data dari node produsen tersebut occupancy-count
ke resource aliran yang ada.
Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:
- PROJECT: ID project atau nomor project Anda Google Cloud .
- LOCATION_ID: Wilayah tempat Anda menggunakan
Vision Platform Agen. Misalnya:
us-central1,europe-west4. Lihat region yang tersedia. - APPLICATION_ID: ID aplikasi target Anda.
inputResources: Resource input (atau resource) untuk instance aplikasi saat ini. Ini adalah array objek yang berisi kolom berikut:consumerNode: Nama node grafik yang menerima resource input.inputResource: Nama resource input lengkap.
outputResources.outputResource: Resourcestreamuntuk menampilkan data aplikasi.outputResources.producerNode: Nama node produsen output aplikasi. Dalam contoh ini ini adalah node analisis,occupancy-count.- INSTANCE_ID: ID instance aplikasi.
Metode HTTP dan URL:
POST https://visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/applications/APPLICATION_ID:updateApplicationInstances
Meminta isi JSON:
{
"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
}
]
}
Untuk mengirim permintaan Anda, pilih salah satu opsi berikut:
curl
Simpan isi permintaan dalam file bernama request.json,
dan jalankan perintah berikut:
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
Simpan isi permintaan dalam file bernama request.json,
dan jalankan perintah berikut:
$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 tanpa error, dan layanan akan mengupdate instance aplikasi sebagaimana mestinya.