Un entrepôt d'images vous permet de stocker et de gérer vos images, ainsi que les annotations qui y sont associées.
Créer un Image Warehouse
Vous devez d'abord créer un corpus.
API REST et ligne de commande
Crée une ressource de corpus dans le projet donné, avec la possibilité de spécifier le nom à afficher et la description Corpus.
Avant d'utiliser les données de requête, 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 Agent Platform Vision. Par exemple :
us-central1,europe-west4. Consultez les régions disponibles. - DISPLAY_NAME : nom à afficher de l'entrepôt.
- WAREHOUSE_DESCRIPTION : description de l'entrepôt (
corpus).
Méthode HTTP et URL :
POST https://warehouse-visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora
Corps JSON de la requête :
{
"display_name": "DISPLAY_NAME",
"description": "WAREHOUSE_DESCRIPTION",
"type": "IMAGE",
"search_capability_setting": {
"search_capabilities": {
"type": "EMBEDDING_SEARCH"
}
}
}
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"
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" | Select-Object -Expand Content
Vous devriez recevoir une réponse JSON de ce type :
{
"name": "projects/PROJECT_NUMBER/locations/LOCATION_ID/warehouseoperations/OPERATION_ID",
"metadata": {
"@type": "type.googleapis.com/google.cloud.visionai.v1.CreateCorpusMetadata"
},
"done": true,
"response": {
"@type": "type.googleapis.com/google.cloud.visionai.v1.Corpus",
"name": "projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID",
"displayName": "DISPLAY_NAME",
"description": "WAREHOUSE_DESCRIPTION",
"type": "IMAGE",
"search_capability_setting": {
"search_capabilities": {
"type": "EMBEDDING_SEARCH"
}
}
}
}
Créer un schéma de données
Si vous souhaitez importer des annotations, vous devez créer un schéma de données correspondant avant d'appeler l'API Import.
API REST et ligne de commande
Cet exemple vous montre comment créer un schéma de données dans un corpus existant.
Avant d'utiliser les données de requête, 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 Agent Platform Vision. Par exemple :
us-central1,europe-west4. Consultez les régions disponibles. - CORPUS_ID : ID de votre corpus cible.
- DATASCHEMA_KEY : cette clé doit correspondre à la clé d'une annotation spécifiée par l'utilisateur et être unique dans un
corpus. Par exemple,data-key. - ANNOTATION_DATA_TYPE : type de données de l'annotation. Valeurs disponibles :
DATA_TYPE_UNSPECIFIEDINTEGERFLOATSTRINGDATETIMEGEO_COORDINATEPROTO_ANYBOOLEAN
Pour en savoir plus, consultez la documentation de référence sur les API.
- ANNOTATION_GRANULARITY : précision des annotations sous ce
dataSchema. Valeurs disponibles :GRANULARITY_UNSPECIFIED: précision non spécifiée.GRANULARITY_ASSET_LEVEL: précision au niveau du composant (les annotations ne doivent pas contenir d'informations sur la partition temporelle pour le composant multimédia).GRANULARITY_PARTITION_LEVEL: précision au niveau de la partition (les annotations doivent contenir des informations sur la partition temporelle pour le contenu multimédia).
- SEARCH_STRATEGY : l'une des valeurs d'énumération disponibles. Types de stratégies de recherche à appliquer à la clé d'annotation. Valeurs disponibles :
NO_SEARCHEXACT_SEARCHSMART_SEARCH
Méthode HTTP et URL :
POST https://warehouse-visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/dataSchemas
Corps JSON de la requête :
{
"key": "DATASCHEMA_KEY",
"schema_details": {
"type": "ANNOTATION_DATA_TYPE",
"granularity": "ANNOTATION_GRANULARITY",
"search_strategy": {
"search_strategy_type": "SEARCH_STRATEGY"
}
}
}
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/dataSchemas"
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/dataSchemas" | Select-Object -Expand Content
Vous devriez recevoir une réponse JSON de ce type :
{
"name": "projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/dataSchemas/DATASCHEMA_ID",
"key": "data-key",
"schemaDetails": {
"type": "BOOLEAN",
"granularity": "GRANULARITY_ASSET_LEVEL",
"searchStrategy": {
"search_strategy_type": "EXACT_SEARCH"
}
}
}
Importer des composants dans un corpus d'images
Importez des composants (et éventuellement des annotations) dans un corpus existant sous le projet donné.
Le fichier Cloud Storage pour la requête ImportAsset doit être au format JSONL. Dans le fichier, chaque ligne correspond à un élément et sera convertie en proto InputImageAsset. Par exemple,
{"gcsUri":"gs://test/test1.png","assetId":"asset1","annotations":[{"key":"title","value":{"strValue":"cat"}}]}
{"gcsUri":"gs://test/test2.png","assetId":"asset2","annotations":[{"key":"title","value":{"strValue":"dog"}}]}
{"gcsUri":"gs://test/test3.png","assetId":"asset3","annotations":[{"key":"title","value":{"strValue":"rabbit"}}]}
API REST et ligne de commande
Cet exemple montre comment importer des éléments (et éventuellement des annotations) dans une ressource de corpus sous le projet donné.
Avant d'utiliser les données de requête, 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 Agent Platform Vision. Par exemple :
us-central1,europe-west4. Consultez les régions disponibles. - CORPUS_ID : ID de votre corpus cible.
Méthode HTTP et URL :
POST https://warehouse-visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/assets:import
Corps JSON de la requête :
{
"parent": "projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID,
"assets_gcs_uri": GCS_URI
}
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/assets:import"
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/assets:import" | Select-Object -Expand Content
Vous devriez recevoir une réponse JSON de ce type :
{
"name": "projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/operations/OPERATION_ID",
}
Analyser les éléments du corpus
Pour préparer la recherche d'images, AnalyzeCorpus doit être exécuté afin de générer les signaux d'embedding à partir des images.
API REST et ligne de commande
Cet exemple montre comment effectuer AnalyzeCorpus sur une ressource de corpus.
Avant d'utiliser les données de requête, 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 Agent Platform Vision. Par exemple :
us-central1,europe-west4. Consultez les régions disponibles. - CORPUS_ID : ID de votre corpus cible.
Méthode HTTP et URL :
POST https://warehouse-visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID:analyze
Corps JSON de la requête :
{
"name": "projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID
}
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:analyze"
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:analyze" | Select-Object -Expand Content
Vous devriez recevoir une réponse JSON de ce type :
{
"name": "projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/operations/OPERATION_ID",
}
Créer un index
API REST et ligne de commande
Cet exemple vous montre comment créer un index sur une ressource de corpus.
Avant d'utiliser les données de requête, 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 Agent Platform 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"
}
}
Créer un point de terminaison d'index
API REST et ligne de commande
Cet exemple montre comment créer un point de terminaison d'index.
Avant d'utiliser les données de requête, 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 Agent Platform Vision. Par exemple :
us-central1,europe-west4. Consultez les régions disponibles. - INDEX_ENDPOINT_ID : (facultatif) valeur fournie par l'utilisateur pour l'ID du point de terminaison de l'index. Dans cette requête, la valeur est ajoutée à l'URL de la requête sous la forme suivante :
- https://REGIONALIZED_ENDPOINT/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/indexEndpoints?index_endpoint_id=INDEX_ENDPOINT_ID
Méthode HTTP et URL :
POST https://warehouse-visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/indexEndpoints
Corps JSON de la requête :
{
"display_name": "DISPLAY_NAME",
"description": "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/indexEndpoints"
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" | Select-Object -Expand Content
Vous devriez recevoir une réponse JSON de ce type :
{
"name": "projects/PROJECT_NUMBER/locations/LOCATION_ID/indexEndpoints/INDEX_ENDPOINT_ID/operations/OPERATION_ID",
"metadata": {
"@type": "type.googleapis.com/google.cloud.visionai.v1.CreateIndexEndpointMetadata"
}
}
Déployer un index sur un point de terminaison d'index
API REST et ligne de commande
Cet exemple vous montre comment déployer un index sur une ressource de point de terminaison d'index.
Avant d'utiliser les données de requête, 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 Agent Platform Vision. Par exemple :
us-central1,europe-west4. Consultez les régions disponibles. - INDEX_ENDPOINT_ID : ID du point de terminaison de l'index cible.
- CORPUS_ID : ID de votre corpus cible.
- INDEX_ID : ID de votre index cible.
Méthode HTTP et URL :
POST https://warehouse-visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/indexEndpoints/INDEX_ENDPOINT_ID:deployIndex
Corps JSON de la requête :
{
"deployedIndex": {
"index": "projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/indexes/INDEX_ID"
}
}
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:deployIndex"
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:deployIndex" | Select-Object -Expand Content
Vous devriez recevoir une réponse JSON de ce type :
{
"name": "projects/PROJECT_NUMBER/locations/LOCATION_ID/indexEndpoints/INDEX_ENDPOINT_ID/operations/OPERATION_ID",
"metadata": {
"@type": "type.googleapis.com/google.cloud.visionai.v1.DeployIndexMetadata",
"deployedIndex": "projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/indexes/INDEX_ID"
}
}