Un index Vision Warehouse (disponible pour les secteurs verticaux des images et des vidéos par lot) est une ressource au niveau du corpus qui est une représentation gérée des composants et des annotations analysés. Un index peut être considéré comme un ensemble de données de vecteurs d'embedding et de restrictions sémantiques qui représentent la signification du contenu multimédia. Les index peuvent être déployés dans des points de terminaison d'index pour la recherche.
Lorsque vous créez un index sur un corpus
, il inclut tous les composants analysés et toutes les annotations existantes dans le corpus.
Pour les composants ou les annotations que vous ajoutez après avoir créé l'index, vous devez analyser à nouveau le corpus ou ces composants, puis mettre à jour l'index pour les inclure.
Créer un index d'entrepôt
REST
Pour créer une ressource d'index, envoyez une requête POST à l'aide de la méthode projects.locations.corpora.indexes.create
.
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. - CORPUS_ID : ID de votre corpus cible.
- INDEX_ID : (facultatif) valeur fournie par l'utilisateur pour l'ID d'index. Dans cette requête, la valeur est ajoutée à l'URL de la requête sous la forme suivante :
- https://REGIONALIZED_ENDPOINT/v1/[...]/corpora/CORPUS_ID/indexes?index_id=INDEX_ID
Méthode HTTP et URL :
POST https://warehouse-visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/indexes
Corps JSON de la requête :
{ "display_name": "DISPLAY_NAME", "description": "INDEX_DESCRIPTION", }
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/corpora/CORPUS_ID/indexes"
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/corpora/CORPUS_ID/indexes" | Select-Object -Expand Content
Vous devriez recevoir une réponse JSON de ce type :
{ "name": "projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/indexes/INDEX_ID/operations/OPERATION_ID", "metadata": { "@type": "type.googleapis.com/google.cloud.visionai.v1.CreateIndexMetadata" } }
Mettre à jour un index d'entrepôt
L'API UpdateIndex permet de mettre à jour les champs de métadonnées de l'index, tels que display_name
et description
, ainsi que le contenu de l'index sous-jacent (assets
et leurs annotations
).
Le champ update_mask
de la requête, également appelé masque de champ, permet de spécifier les champs à écraser dans la ressource Index par la mise à jour. Les champs spécifiés dans update_mask
sont relatifs à la ressource, et non à la requête complète. Un champ de la ressource sera écrasé s'il figure dans le masque. Un masque de champ vide n'est pas autorisé. Si le masque est "*", il déclenche une mise à jour complète de l'index, ainsi qu'une reconstruction complète des données d'index.
REST
Pour mettre à jour une ressource d'index, envoyez une requête PATCH à l'aide de la méthode projects.locations.corpora.indexes.patch
.
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. - CORPUS_ID : ID de votre corpus cible.
- INDEX_ID : ID de votre index cible.
?update_mask=fieldToUpdate
: liste des champs disponibles auxquels vous souhaitez appliquer unupdate_mask
. Spécifiez les valeurs correspondantes pour les nouveaux champs dans le corps de la requête. Cette nouvelle valeur remplace la valeur de champ existante. Vous pouvez spécifier plusieurs champs sous la forme de valeurs séparées par des virgules. Champs disponibles :- Nom à afficher :
?update_mask=display_name
- Description :
?update_mask=description
- Mettre à jour les données d'index sous-jacentes :
?update_mask=entire_corpus
- Mettez à jour tous les champs :
?update_mask=*
- Nom à afficher :
Méthode HTTP et URL :
PATCH https://warehouse-visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/indexes/INDEX_ID?update_mask=display_name,entire_corpus
Corps JSON de la requête :
{ "display_name": "DISPLAY_NAME", "entire_corpus": true }
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 PATCH \
-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/corpora/CORPUS_ID/indexes/INDEX_ID?update_mask=display_name,entire_corpus"
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 PATCH `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://warehouse-visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/indexes/INDEX_ID?update_mask=display_name,entire_corpus" | Select-Object -Expand Content
Vous devriez recevoir une réponse JSON de ce type :
{ "name": "projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/indexes/INDEX_ID/operations/OPERATION_ID", "metadata": { "@type": "type.googleapis.com/google.cloud.visionai.v1.UpdateIndexMetadata" } }
Mises à jour des index en continu
Les API IndexAsset
et RemoveIndexAsset
permettent d'effectuer des mises à jour en flux continu des index. Ces API ne sont compatibles qu'avec Vision Warehouse pour les vidéos par lot.
Répertorier les index d'un entrepôt
REST
Pour lister les index d'un corpus, envoyez une requête GET à l'aide de la méthode projects.locations.corpora.indexes.list.
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. - CORPUS_ID : ID de votre corpus cible.
Méthode HTTP et URL :
GET https://warehouse-visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/indexes
Pour envoyer votre requête, choisissez l'une des options suivantes :
curl
Exécutez la commande suivante :
curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://warehouse-visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/indexes"
PowerShell
Exécutez la commande suivante :
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method GET `
-Headers $headers `
-Uri "https://warehouse-visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/indexes" | Select-Object -Expand Content
Vous devriez recevoir une réponse JSON de ce type :
{ "indexes": [ { "name": "projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/indexes/INDEX_ID_1", "display_name": "DISPLAY_NAME_1", "description": "DESCRIPTION_1", "entireCorpus": true, "state": "CREATED" }, { "name": "projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/indexes/INDEX_ID_2", "display_name": "DISPLAY_NAME_2", "description": "DESCRIPTION_2", "entireCorpus": true, "state": "CREATED" } ] }
Obtenir un index
REST
Pour obtenir des informations sur un index, envoyez une requête GET à l'aide de la méthode projects.locations.corpora.indexes.get.
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. - CORPUS_ID : ID de votre corpus cible.
- INDEX_ID : ID de votre index cible.
Méthode HTTP et URL :
GET https://warehouse-visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/indexes/INDEX_ID
Pour envoyer votre requête, choisissez l'une des options suivantes :
curl
Exécutez la commande suivante :
curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://warehouse-visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/indexes/INDEX_ID"
PowerShell
Exécutez la commande suivante :
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method GET `
-Headers $headers `
-Uri "https://warehouse-visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/indexes/INDEX_ID" | Select-Object -Expand Content
Vous devriez recevoir une réponse JSON de ce type :
{ "name": "projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/indexes/INDEX_ID", "display_name": "DISPLAY_NAME", "description": "DESCRIPTION", "entireCorpus": true, "state": "CREATED" }
Afficher les composants d'un index
REST
Pour obtenir des informations sur les composants présents dans un index, envoyez une requête GET à l'aide de la méthode projects.locations.corpora.indexes.viewAssets.
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. - CORPUS_ID : ID de votre corpus cible.
- INDEX_ID : ID de votre index cible.
- PAGE_SIZE : (facultatif) nombre de résultats à renvoyer.
- PAGE_TOKEN : (facultatif)
nextPageToken
fourni par la réponse de l'appel précédent. Ce jeton peut être utilisé pour obtenir la page de résultats suivante.
Méthode HTTP et URL :
GET https://warehouse-visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/indexes/INDEX_ID:viewAssets?page_size=PAGE_SIZE&page_token=NEXT_PAGE_TOKEN
Pour envoyer votre requête, choisissez l'une des options suivantes :
curl
Exécutez la commande suivante :
curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://warehouse-visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/indexes/INDEX_ID:viewAssets?page_size=PAGE_SIZE&page_token=NEXT_PAGE_TOKEN"
PowerShell
Exécutez la commande suivante :
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method GET `
-Headers $headers `
-Uri "https://warehouse-visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/indexes/INDEX_ID:viewAssets?page_size=PAGE_SIZE&page_token=NEXT_PAGE_TOKEN" | Select-Object -Expand Content
Vous devriez recevoir une réponse JSON de ce type :
{ "indexedAssets": [ { "index": "projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/indexes/INDEX_ID", "asset": "projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/assets/ASSET_ID_1" }, { "index": "projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/indexes/INDEX_ID", "asset": "projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/assets/ASSET_ID_2" } ], "nextPageToken": "NEXT_PAGE_TOKEN" }
Afficher les composants indexés avec un filtre
Vous pouvez fournir une liste d'ID d'éléments séparés par une virgule à l'aide du champ filter
dans la méthode projects.locations.corpora.indexes.viewAssets pour filtrer tous les éléments d'un index et n'afficher que les éléments fournis.
REST
Pour lister et filtrer les composants présents dans un index, envoyez une requête GET à l'aide de la méthode projects.locations.corpora.indexes.viewAssets.
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. - CORPUS_ID : ID de votre corpus cible.
- INDEX_ID : ID de votre index cible.
- PAGE_SIZE : (facultatif) nombre de résultats à renvoyer.
- PAGE_TOKEN : (facultatif)
nextPageToken
fourni par la réponse à l'appel précédent. Ce jeton peut être utilisé pour obtenir la page de résultats suivante. - ASSET_ID_FILTER : (facultatif) liste d'ID de composants séparés par une virgule que vous souhaitez filtrer dans la liste renvoyée. Par exemple :
- .
?filter=ASSET_ID_1"
?filter=ASSET_ID_1,ASSET_ID_2"
Méthode HTTP et URL :
GET https://warehouse-visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/indexes/INDEX_ID:viewAssets?page_size=PAGE_SIZE&page_token=NEXT_PAGE_TOKEN&filter=ASSET_ID_FILTER
Pour envoyer votre requête, choisissez l'une des options suivantes :
curl
Exécutez la commande suivante :
curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://warehouse-visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/indexes/INDEX_ID:viewAssets?page_size=PAGE_SIZE&page_token=NEXT_PAGE_TOKEN&filter=ASSET_ID_FILTER"
PowerShell
Exécutez la commande suivante :
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method GET `
-Headers $headers `
-Uri "https://warehouse-visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/indexes/INDEX_ID:viewAssets?page_size=PAGE_SIZE&page_token=NEXT_PAGE_TOKEN&filter=ASSET_ID_FILTER" | Select-Object -Expand Content
Vous devriez recevoir une réponse JSON de ce type :
{ "indexedAssets": [ { "index": "projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/indexes/INDEX_ID", "asset": "projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/assets/ASSET_ID_1" }, { "index": "projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/indexes/INDEX_ID", "asset": "projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/assets/ASSET_ID_2" } ], "nextPageToken": "NEXT_PAGE_TOKEN" }
Supprimer un index
Un index ne peut être supprimé que s'il n'est pas déployé sur un indexEndpoint
.
Suivez le guide sur l'annulation du déploiement d'un index avant de supprimer un index déployé.
REST
Pour supprimer une ressource d'index, envoyez une requête DELETE à l'aide de la méthode projects.locations.corpora.indexes.delete.
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. - CORPUS_ID : ID de votre corpus cible.
- INDEX_ID : ID de votre index cible.
Méthode HTTP et URL :
DELETE https://warehouse-visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/indexes/INDEX_ID
Pour envoyer votre requête, choisissez l'une des options suivantes :
curl
Exécutez la commande suivante :
curl -X DELETE \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://warehouse-visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/indexes/INDEX_ID"
PowerShell
Exécutez la commande suivante :
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method DELETE `
-Headers $headers `
-Uri "https://warehouse-visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/indexes/INDEX_ID" | Select-Object -Expand Content
Vous devriez recevoir une réponse JSON de ce type :
{ "name": "projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/indexes/INDEX_ID/operations/OPERATION_ID", }