Condition préalable: Créez un entrepôt vidéo par lot avec un indice déployé.
Rechercher des données de l'entrepôt vidéo par lot dans la console
Console
Ouvrez l'onglet Entrepôts du tableau de bord Vertex AI Vision.
Recherchez le point de terminaison de l'index dans lequel vous souhaitez effectuer une recherche, puis cliquez sur Rechercher des composants.
Une liste de vidéos (chacune correspondant à un élément) et une barre de recherche s'affichent en haut de l'écran. Vous pouvez cliquer sur une vidéo pour la regarder ou commencer à rechercher des vidéos.
Pour commencer à rechercher, saisissez une requête textuelle ou importez une image en tant que requête de recherche. Une liste d'extraits vidéo s'affiche sur le côté droit de la page de résultats de recherche, chacun correspondant à un extrait vidéo continu dans les composants. Les extraits vidéo sont classés en fonction de leur pertinence par rapport à la requête saisie.
Vous pouvez utiliser la section
Filters
sur le côté gauche de la page de résultats de recherche pour affiner votre recherche. Chaque critère de filtrage se compose d'une clé de schéma de données et de la valeur d'annotation que vous souhaitez rechercher. Après avoir spécifié les critères de filtrage, cliquez sur Rechercher pour exécuter la recherche.
Rechercher des données de l'entrepôt vidéo par lot à l'aide de la ligne de commande
Pour rechercher les vidéos (assets
) dans votre corpus (corpus
), renseignez le searchIndexEndpoint
corps de la requête avec le contenu que vous souhaitez trouver.
Il existe différents formats de contenus:
text_query
ouimage_query
: requête à utiliser pour la recherche.- Facultatif :
criteria
: critères de filtrage sur les annotations fournies par l'utilisateur.
Dans l'exemple suivant, considérons un corpus contenant des vidéos de paysages naturels.
Pour récupérer tous les composants associés à "coucher de soleil sur la plage" et tagués avec l'annotation "state": "California"
, envoyez la requête suivante:
API REST et ligne de commande
Avant d'utiliser les données de requête ci-dessous, effectuez les remplacements suivants :
- REGIONALIZED_ENDPOINT: le point de terminaison peut inclure un préfixe correspondant à
LOCATION_ID
, tel queeurope-west4-
. En savoir plus sur les points de terminaison régionalisés - PROJECT_NUMBER: numéro de votre projet Google Cloud.
- LOCATION_ID: région dans laquelle vous utilisez Vertex AI Vision. Par exemple:
us-central1
,europe-west4
. Consultez les régions disponibles. - INDEX_ENDPOINT_ID: ID de votre point de terminaison d'index cible.
Méthode HTTP et URL :
POST https://warehouse-visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/indexEndpoints/INDEX_ENDPOINT_ID:searchIndexEndpoint
Corps JSON de la requête :
{ "text_query": "sunset at beach", "criteria": [ { "field": "state", "text_array": { "txt_values": [ "California" ] } } ] }
Pour envoyer votre requête, choisissez l'une des options suivantes :
curl
Enregistrez le corps de la requête dans un fichier nommé request.json
, puis exécutez la commande suivante :
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://warehouse-visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/indexEndpoints/INDEX_ENDPOINT_ID:searchIndexEndpoint"
PowerShell
Enregistrez le corps de la requête dans un fichier nommé request.json
, puis exécutez la commande suivante :
$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://warehouse-visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/indexEndpoints/INDEX_ENDPOINT_ID:searchIndexEndpoint" | Select-Object -Expand Content
Vous devriez recevoir une réponse JSON de ce type :
{ "searchResultItems": [ { "asset": "projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/assets/ASSET_ID_1" }, { "asset": "projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/assets/ASSET_ID_2" } ] }
Si vous disposez d'une image d'un coucher de soleil sur une plage, vous pouvez également l'utiliser comme requête de recherche en envoyant la requête suivante (l'image d'entrée est au format d'encodage base64):
API REST et ligne de commande
Avant d'utiliser les données de requête ci-dessous, effectuez les remplacements suivants :
- REGIONALIZED_ENDPOINT: le point de terminaison peut inclure un préfixe correspondant à
LOCATION_ID
, tel queeurope-west4-
. En savoir plus sur les points de terminaison régionalisés - PROJECT_NUMBER: numéro de votre projet Google Cloud.
- LOCATION_ID: région dans laquelle vous utilisez Vertex AI Vision. Par exemple:
us-central1
,europe-west4
. Consultez les régions disponibles. - INDEX_ENDPOINT_ID: ID de votre point de terminaison d'index cible.
Méthode HTTP et URL :
POST https://warehouse-visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/indexEndpoints/INDEX_ENDPOINT_ID:searchIndexEndpoint
Corps JSON de la requête :
{ "image_query": { "input_image": "IMAGE_BYTES" }, "criteria": [ { "field": "state", "text_array": { "txt_values": [ "California" ] } } ] }
Pour envoyer votre requête, choisissez l'une des options suivantes :
curl
Enregistrez le corps de la requête dans un fichier nommé request.json
, puis exécutez la commande suivante :
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://warehouse-visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/indexEndpoints/INDEX_ENDPOINT_ID:searchIndexEndpoint"
PowerShell
Enregistrez le corps de la requête dans un fichier nommé request.json
, puis exécutez la commande suivante :
$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://warehouse-visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/indexEndpoints/INDEX_ENDPOINT_ID:searchIndexEndpoint" | Select-Object -Expand Content
Vous devriez recevoir une réponse JSON de ce type :
{ "searchResultItems": [ { "asset": "projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/assets/ASSET_ID_1" }, { "asset": "projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/assets/ASSET_ID_2" } ] }