Une fois que vous avez créé un index PSA ou PSC, vous pouvez exécuter des requêtes pour obtenir ses voisins les plus proches.
À propos de l'interrogation des index PSC
L'adresse de calcul créée à partir d'un index PSC peut être utilisée pour lui envoyer des requêtes.
Dans l'exemple suivant, remplacez TARGET_IP
par l'adresse de calcul créée.
À propos de l'interrogation des index PSA
Chaque DeployedIndex
possède un TARGET_IP
que vous pouvez récupérer en répertoriant les IndexEndpoints
.
Interroger un index
Pour interroger un DeployedIndex
, connectez-vous à son TARGET_IP
sur le port 10000
, puis appelez la méthode Match
ou BatchMatch
. Vous pouvez également interroger à l'aide de DOC_ID
.
Les exemples suivants utilisent l'outil Open Source grpc_cli
pour envoyer des requêtes grpc au serveur d'index déployé.
gRPC
Dans le premier exemple, vous envoyez une seule requête à l'aide de la méthode Match
.
./grpc_cli call ${TARGET_IP}:10000 google.cloud.aiplatform.container.v1.MatchService.Match '{deployed_index_id: "${DEPLOYED_INDEX_ID}", float_val: [-0.1,..]}'
Dans le deuxième exemple, vous combinez deux requêtes distinctes dans la même requête BatchMatch
.
./grpc_cli call ${TARGET_IP}:10000 google.cloud.aiplatform.container.v1.MatchService.BatchMatch 'requests: [{deployed_index_id: "${DEPLOYED_INDEX_ID}", requests: [{deployed_index_id: "${DEPLOYED_INDEX_ID}", float_val: [-0.1,..]}, {deployed_index_id: "${DEPLOYED_INDEX_ID}", float_val: [-0.2,..]}]}]'
Vous devez appeler ces API à partir d'un client exécuté dans le même VPC avec lequel le service a été appairé (#vpc-network-peering-setup).
Pour exécuter une requête à l'aide d'un DOC_ID
, utilisez l'exemple suivant.
./grpc_cli call ${TARGET_IP}:10000 google.cloud.aiplatform.container.v1.MatchService.Match "deployed_index_id:'"test_index1"',embedding_id: '"606431"'"
Dans cet exemple, vous envoyez une requête à l'aide de limites numériques et de jetons.
./grpc_cli call ${TARGET_IP}:10000 google.cloud.aiplatform.container.v1.MatchService.Match 'deployed_index_id: "${DEPLOYED_INDEX_ID}", float_val: [1, 1], "sparse_embedding": {"values": [111.0,111.1,111.2], "dimensions": [10,20,30]}, numeric_restricts: [{name: "double-ns", value_double: 0.3, op: LESS_EQUAL}, {name: "double-ns", value_double: -1.2, op: GREATER}, {name: "double-ns", value_double: 0., op: NOT_EQUAL}], restricts: [{name: "color", allow_tokens: ["red"]}]'
Pour en savoir plus, consultez la présentation des bibliothèques clientes.
Console
Suivez ces instructions pour interroger un index VPC dans la console.
- Dans la section Vertex AI de la console Google Cloud, accédez à la section Déployer et utiliser. Sélectionnez Vector Search.
- Sélectionnez l'index VPC que vous souhaitez interroger. La page Informations sur l'index s'affiche.
- Faites défiler la page jusqu'à la section Index déployés et sélectionnez celui que vous souhaitez interroger. La page Informations sur l'index déployé s'affiche.
- Dans la section Interroger l'index, sélectionnez les paramètres de votre requête. Vous pouvez choisir d'effectuer une requête par vecteur ou par point de données spécifique.
- Exécutez la requête à l'aide de l'outil Open Source grpc_cli ou à l'aide du SDK Vertex AI pour Python.
Paramètres au moment de la requête ayant un impact sur les performances
Les paramètres de requête suivants peuvent affecter la latence, la disponibilité et les coûts lors de l'utilisation de Vector Search. Cette recommandation s'applique à la plupart des cas. Toutefois, testez toujours vos configurations pour vous assurer qu'elles fonctionnent bien pour votre cas d'utilisation.
Pour les définitions de paramètres, consultez Paramètres de configuration d'index.
Paramètre | À propos | Impact sur la performance |
---|---|---|
approximateNeighborsCount |
Indique à l'algorithme le nombre de résultats approximatifs à récupérer à partir de chaque segment.
La valeur de |
L'augmentation de la valeur de
La diminution de la valeur de
|
setNeighborCount |
Spécifie le nombre de résultats que la requête doit renvoyer. |
Les valeurs inférieures ou égales à 300 restent performantes dans la plupart des cas d'utilisation. Pour les valeurs plus élevées, testez votre cas d'utilisation spécifique. |
fractionLeafNodesToSearch |
Contrôle le pourcentage de nœuds feuilles à consulter lors de la recherche de voisins les plus proches. Cela est lié à leafNodeEmbeddingCount , en ce sens que plus il y a d'embeddings par nœud feuille, plus le nombre de données examinées par feuille est important.
|
L'augmentation de la valeur de
La réduction de la valeur de
|
Étapes suivantes
- Découvrez comment mettre à jour et recompiler votre index.
- Découvrez comment filtrer les correspondances vectorielles.
- Découvrez comment surveiller un index.