> Discover all available pages from the documentation index: https://mastra.zisheng.pro/fr/llms.txt # Stockage vectoriel Astra La classe AstraVector fournit une recherche vectorielle à l'aide de [DataStax Astra DB](https://www.datastax.com/products/datastax-astra), une base de données cloud-native et serverless fondée sur Apache Cassandra. Elle offre des capacités de recherche vectorielle adaptées aux entreprises et une haute disponibilité. ## Options du constructeur **token** (`string`): Jeton de l'API Astra DB **endpoint** (`string`): Endpoint de l'API Astra DB **keyspace** (`string`): Nom facultatif du keyspace ## Méthodes ### `createIndex()` **indexName** (`string`): Nom de l'index à créer **dimension** (`number`): Dimension du vecteur (doit correspondre à votre modèle d'embedding) **metric** (`'cosine' | 'euclidean' | 'dotproduct'`): Métrique de distance pour la recherche par similarité (correspond à dot\_product pour dotproduct) (Default: `cosine`) ### `upsert()` **indexName** (`string`): Nom de l'index dans lequel effectuer l'upsert **vectors** (`number[][]`): Tableau de vecteurs d'embedding **metadata** (`Record[]`): Métadonnées de chaque vecteur **ids** (`string[]`): Identifiants facultatifs des vecteurs (générés automatiquement s'ils ne sont pas fournis) ### `query()` **indexName** (`string`): Nom de l'index à interroger **queryVector** (`number[]`): Vecteur de requête permettant de trouver des vecteurs similaires **topK** (`number`): Nombre de résultats à renvoyer (Default: `10`) **filter** (`Record`): Filtres de métadonnées de la requête **includeVector** (`boolean`): Indique si les vecteurs doivent être inclus dans les résultats (Default: `false`) ### `listIndexes()` Renvoie un tableau de noms d'index sous forme de chaînes. ### `describeIndex()` **indexName** (`string`): Nom de l'index à décrire Renvoie : ```typescript interface IndexStats { dimension: number count: number metric: 'cosine' | 'euclidean' | 'dotproduct' } ``` ### `deleteIndex()` **indexName** (`string`): Nom de l'index à supprimer ### `updateVector()` **indexName** (`string`): Nom de l'index contenant le vecteur **id** (`string`): Identifiant du vecteur à mettre à jour **update** (`object`): Objet de mise à jour contenant les modifications du vecteur ou des métadonnées, ou les deux ### `deleteVector()` **indexName** (`string`): Nom de l'index contenant le vecteur **id** (`string`): Identifiant du vecteur à supprimer ## Types de réponse Les résultats de la requête sont renvoyés dans ce format : ```typescript interface QueryResult { id: string score: number metadata: Record vector?: number[] // Only included if includeVector is true } ``` ## Gestion des erreurs Le stockage lève des erreurs typées qui peuvent être interceptées : ```typescript try { await store.query({ indexName: 'index_name', queryVector: queryVector, }) } catch (error) { if (error instanceof VectorStoreError) { console.log(error.code) // 'connection_failed' | 'invalid_dimension' | etc console.log(error.details) // Additional error context } } ``` ## Variables d'environnement Variables d'environnement requises : - `ASTRA_DB_TOKEN` : votre jeton de l'API Astra DB - `ASTRA_DB_ENDPOINT` : votre endpoint de l'API Astra DB ## Ressources associées - [Filtres de métadonnées](https://mastra.zisheng.pro/fr/reference/rag/metadata-filters)