Aller au contenu principal

Stockage vectoriel OpenSearch

La classe OpenSearchVector fournit une recherche vectorielle au moyen d'OpenSearch, un moteur open source de recherche et d'analyse. Elle utilise les fonctionnalités k-NN d'OpenSearch pour effectuer une recherche de similarité vectorielle.

Options du constructeur
Lien direct vers Options du constructeur

Le constructeur accepte toutes les ClientOptions d'OpenSearch ainsi qu'un champ id obligatoire.

id:

string
Identifiant unique de cette instance de stockage vectoriel

node:

string | string[] | NodeOptions | NodeOptions[]
URL du ou des nœuds OpenSearch (par exemple, 'http://localhost:9200')

auth?:

BasicAuth | BearerAuth | AwsSigv4Auth
Configuration de l'authentification

ssl?:

ConnectionOptions
Configuration SSL/TLS

compression?:

'gzip'
Active la compression gzip

Méthodes
Lien direct vers Méthodes

createIndex()
Lien direct vers createindex

Crée un index avec la configuration indiquée.

indexName:

string
Nom de l'index à créer

dimension:

number
Dimension des vecteurs à stocker dans l'index

metric?:

'cosine' | 'euclidean' | 'dotproduct'
= 'cosine'
Métrique de distance à utiliser pour la similarité vectorielle

listIndexes()
Lien direct vers listindexes

Répertorie tous les index de l'instance OpenSearch.

Renvoie : Promise<string[]>

describeIndex()
Lien direct vers describeindex

Récupère les informations relatives à un index.

indexName:

string
Nom de l'index à décrire

deleteIndex()
Lien direct vers deleteindex

indexName:

string
Nom de l'index à supprimer

upsert()
Lien direct vers upsert

indexName:

string
Nom de l'index dans lequel insérer ou mettre à jour les vecteurs

vectors:

number[][]
Tableau des embeddings vectoriels à insérer

metadata?:

Record<string, any>[]
Tableau des objets de métadonnées correspondant à chaque vecteur

ids?:

string[]
Tableau facultatif des identifiants des vecteurs. S'il n'est pas fourni, des identifiants aléatoires sont générés

query()
Lien direct vers query

indexName:

string
Nom de l'index à interroger

queryVector:

number[]
Vecteur de requête pour lequel rechercher des vecteurs similaires

topK?:

number
= 10
Nombre de résultats à renvoyer

filter?:

VectorFilter
Filtre facultatif à appliquer à la requête (syntaxe de requête de type MongoDB)

updateVector()
Lien direct vers updatevector

Met à jour un seul vecteur à partir de son identifiant ou d'un filtre de métadonnées. Vous devez fournir id ou filter, mais pas les deux.

indexName:

string
Nom de l'index dans lequel mettre à jour les vecteurs

id?:

string
Identifiant du vecteur à mettre à jour (incompatible avec filter)

filter?:

Record<string, any>
Filtre de métadonnées permettant d’identifier le ou les vecteurs à mettre à jour (incompatible avec id)

update:

{ vector?: number[]; metadata?: Record<string, any>; }
Objet contenant le vecteur ou les métadonnées à mettre à jour, ou les deux

deleteVector()
Lien direct vers deletevector

Supprime de l'index un seul vecteur à partir de son identifiant.

indexName:

string
Nom de l'index dont le vecteur doit être supprimé

id:

string
Identifiant du vecteur à supprimer

deleteVectors()
Lien direct vers deletevectors

Supprime plusieurs vecteurs à partir de leurs identifiants ou d'un filtre de métadonnées. Vous devez fournir ids ou filter, mais pas les deux.

indexName:

string
Nom de l'index contenant les vecteurs à supprimer

ids?:

string[]
Tableau des identifiants de vecteurs à supprimer (incompatible avec filter)

filter?:

Record<string, any>
Filtre de métadonnées permettant d’identifier les vecteurs à supprimer (incompatible avec ids)