Condition préalable : créer un entrepôt de vidéos par lot avec un index déployé.
Rechercher des données dans un entrepôt de vidéos par lot dans la console
Console
Ouvrez l'onglet Entrepôts du tableau de bord Gemini Enterprise Agent Platform Vision.
Recherchez le point de terminaison de l'index que vous souhaitez interroger, puis cliquez sur Rechercher des éléments.
Une liste de vidéos (chacune correspondant à un élément) s'affiche, ainsi qu'une barre de recherche en haut. Vous pouvez cliquer sur une vidéo pour la regarder ou commencer à rechercher des vidéos.
Pour commencer la recherche, saisissez une requête textuelle ou importez une image comme requête de recherche. Une liste d'extraits vidéo s'affiche à droite de la page de résultats de recherche. Chacun correspond à un extrait vidéo continu dans les éléments. Les extraits vidéo sont classés par pertinence par rapport à la requête d'entrée.
Vous pouvez utiliser la section
Filters(Filtres) à gauche de la page de résultats de recherche pour affiner votre recherche. Chaque critère de filtre 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 filtre, cliquez sur Rechercher pour exécuter la recherche.
Rechercher des données dans un entrepôt de vidéos par lot à l'aide de la ligne de commande
Pour rechercher des vidéos (assets) dans votre
corpus (corpus), remplissez le corps de la requête searchIndexEndpoint
avec le contenu que vous souhaitez
trouver.
Ce contenu se présente sous différents formats :
text_queryouimage_query: requête à utiliser pour la recherche.- `criteria` facultatifs : critères de filtre sur les annotations fournies par l'utilisateur.
criteria
Dans l'exemple suivant, prenons un corpus contenant des vidéos de paysages naturels.
Pour récupérer tous les éléments pertinents pour "coucher de soleil sur la plage" et balisé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_IDtel queeurope-west4-. En savoir plus sur les points de terminaison régionalisés. - PROJECT_NUMBER : Votre Google Cloud numéro de projet.
- LOCATION_ID : région dans laquelle vous utilisez Agent Platform Vision. Par exemple :
us-central1,europe-west4. Consulter les régions disponibles - INDEX_ENDPOINT_ID : ID du point de terminaison de l'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_IDtel queeurope-west4-. En savoir plus sur les points de terminaison régionalisés. - PROJECT_NUMBER : Votre Google Cloud numéro de projet.
- LOCATION_ID : région dans laquelle vous utilisez Agent Platform Vision. Par exemple :
us-central1,europe-west4. Consulter les régions disponibles - INDEX_ENDPOINT_ID : ID du point de terminaison de l'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"
}
]
}