Utilisez la commande query-vectors pour rechercher des vecteurs similaires.
Permissions
Par défaut, un compte Alibaba Cloud dispose de toutes les autorisations. En revanche, les utilisateurs et rôles RAM n'ont aucune autorisation : le propriétaire du compte ou un administrateur doit leur accorder l'accès via une politique RAM ou une politique de bucket.
|
API |
Action |
Description |
|
QueryVectors |
|
Interroge les données vectorielles. |
Format de la commande
ossutil vectors-api query-vectors --bucket value --index-name value --query-vector value --top-k value [flags]
Paramètres
Paramètre | Type | Description |
--bucket | string | Nom du bucket de vecteurs. |
--index-name | string | Nom de l'index vectoriel. |
--query-vector | string | Vecteur de requête au format JSON. Sa dimension doit correspondre à celle de l'index vectoriel. |
--top-k | int | Nombre de vecteurs les plus similaires à renvoyer. Valeurs valides : 1–500. |
--filter | string | Filtre les données de requête selon les métadonnées.
|
--return-distance | / | Renvoie la distance de similarité si ce paramètre est vide ou défini sur |
--return-metadata | / | Renvoie les métadonnées si ce paramètre est vide ou défini sur |
La commande
query-vectorscorrespond à l'opération API QueryVectors.Pour plus d'informations sur les options de ligne de commande globales prises en charge, consultez la rubrique Options de ligne de commande globales.
Opérateurs de filtre
|
Opérateur |
Type |
Description |
|
|
String, Number, Boolean |
Correspondance exacte (pour une valeur unique). Pour les métadonnées de type tableau, l'opérateur renvoie |
|
|
String, Number, Boolean |
Correspond aux valeurs différentes de la valeur spécifiée. |
|
|
Number |
Supérieur à. |
|
|
Number |
Supérieur ou égal à. |
|
|
Number |
Inférieur à. |
|
|
Number |
Inférieur ou égal à. |
|
|
Tableau non vide de primitives |
Correspond à toute valeur présente dans le tableau (similaire à l'opérateur SQL |
|
|
Tableau non vide de primitives |
Ne correspond à aucune valeur du tableau (similaire à l'opérateur SQL |
|
|
Boolean |
Vérifie l'existence d'une clé de métadonnée. |
|
|
Tableau non vide de filtres |
Applique un ET logique à un tableau de conditions de filtre. |
|
|
Tableau non vide de filtres |
Applique un OU logique à un tableau de conditions de filtre. |
|
|
Tableau non vide de filtres |
Applique un NOR logique à un tableau de conditions de filtre. |
Exemples de filtres
Voici des exemples courants d'expressions de filtre. Si vous omettez l'opérateur, $eq est utilisé par défaut.
// Simple equality (uses $eq by default when the operator is omitted)
{"category": "finance"}
// Explicit equality / inequality
{"category": {"$eq": "finance"}}
{"category": {"$ne": "archived"}}
// Numeric comparison
{"created_year": {"$gt": 2023}}
{"created_year": {"$gte": 2024}}
{"created_year": {"$lt": 2026}}
{"created_year": {"$lte": 2025}}
// Array matching
{"language": {"$in": ["zh", "en"]}}
{"language": {"$nin": ["ja", "ko"]}}
// Existence check
{"author": {"$exists": true}}
// Logical combination
{"$and": [{"category": {"$eq": "finance"}}, {"created_year": {"$gte": 2024}}]}
{"$or": [{"category": {"$eq": "finance"}}, {"category": {"$eq": "tech"}}]}
{"$nor": [{"category": {"$eq": "finance"}}, {"category": {"$eq": "tech"}}]}
// Multiple conditions on the same field (range)
{"score": {"$gte": 0.6, "$lte": 0.95}}
Exemple
La commande suivante recherche les 10 vecteurs les plus similaires à un vecteur de requête dans l'index vectoriel index du bucket examplebucket, où le champ type vaut comedy ou documentary.
ossutil vectors-api query-vectors --bucket examplebucket --index-name index --filter "{\"$and\":[{\"type\":{\"$in\":[\"comedy\",\"documentary\"]}}]}" --query-vector "{\"float32\":[32]}" --top-k 10