Rechercher des données de l'entrepôt de vidéos par lot

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

  1. Ouvrez l'onglet Entrepôts du tableau de bord Gemini Enterprise Agent Platform Vision.

    Accéder à l'onglet "Entrepôts"

  2. Recherchez le point de terminaison de l'index que vous souhaitez interroger, puis cliquez sur Rechercher des éléments.

  3. 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.

  4. 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.

  5. 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 :

  1. text_query ou image_query : requête à utiliser pour la recherche.
  2. `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 :

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 :

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"
    }
  ]
}