Une fois que vous avez créé un corpus d'images et exécuté
AnalyzeCorpus
pour générer des signaux d'intégration sur les données du corpus, vous pouvez créer un index
et un point de terminaison d'index. Après avoir déployé l'index sur ce point de terminaison d'index, vous pouvez effectuer une recherche sémantique avec des fonctionnalités de filtrage des critères. Le résultat de la recherche
contient une liste d'images triées par score de pertinence.
Rechercher avec du texte saisi
Pour rechercher les assets dans votre corpus, remplissez SearchIndexEndpointRequest avec la recherche souhaitée, dans les formats suivants :
text_query: requête textuelle à utiliser pour la recherche.criteriaouexclusion_criteriafacultatifs : critères de filtrage sur les annotations fournies par l'utilisateur. Ils peuvent être appliqués à des textes, des nombres, des valeurs booléennes ou des valeurs de date et d'heure.
Dans l'exemple suivant, prenons un corpus contenant des images de paysages naturels. Pour récupérer tous les assets pertinents pour "sunset at beach" (coucher de soleil sur la plage) et balisés avec l'annotation "state": "California", envoyez la requête suivante (remplacez FIELD_NAME par state et FIELD_VALUE par California) :
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. 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",
"relevance": "0.99"
},
{
"asset": "projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/assets/ASSET_ID_2",
"relevance": "0.98"
}
]
}
Rechercher avec une image saisie
Si vous avez une image d'un coucher de soleil sur une plage, vous pouvez également l'utiliser comme requête de recherche pour récupérer des images similaires :
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. 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": "FIELD_NAME",
"text_array": {
"txt_values": [
"FIELD_VALUE"
]
}
}
]
}
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",
"relevance": 0.99
},
{
"asset": "projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/assets/ASSET_ID_2",
"relevance": 0.98
}
]
}
Rechercher avec une image existante
Vous pouvez également utiliser un composant Image existant dans le corpus pour récupérer des images similaires. Le premier résultat de recherche sera le même composant Image avec un score de pertinence de 1,0 :
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. Consultez les régions disponibles. - INDEX_ENDPOINT_ID : ID de votre point de terminaison d'index cible.
- CORPUS_ID : ID de votre corpus cible.
- ASSET_ID : ID de votre composant 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": {
"asset": "projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/assets/ASSET_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: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",
"relevance": 1.0
},
{
"asset": "projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/assets/ASSET_ID_2",
"relevance": 0.99
}
]
}