Stockage vectoriel Astra
La classe AstraVector fournit une recherche vectorielle à l'aide de DataStax Astra DB, 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 constructeurLien direct vers 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éthodesLien direct vers Méthodes
createIndex()Lien direct vers 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'
= cosine
Métrique de distance pour la recherche par similarité (correspond à dot_product pour dotproduct)
upsert()Lien direct vers upsert
indexName:
string
Nom de l'index dans lequel effectuer l'upsert
vectors:
number[][]
Tableau de vecteurs d'embedding
metadata?:
Record<string, any>[]
Métadonnées de chaque vecteur
ids?:
string[]
Identifiants facultatifs des vecteurs (générés automatiquement s'ils ne sont pas fournis)
query()Lien direct vers query
indexName:
string
Nom de l'index à interroger
queryVector:
number[]
Vecteur de requête permettant de trouver des vecteurs similaires
topK?:
number
= 10
Nombre de résultats à renvoyer
filter?:
Record<string, any>
Filtres de métadonnées de la requête
includeVector?:
boolean
= false
Indique si les vecteurs doivent être inclus dans les résultats
listIndexes()Lien direct vers listindexes
Renvoie un tableau de noms d'index sous forme de chaînes.
describeIndex()Lien direct vers describeindex
indexName:
string
Nom de l'index à décrire
Renvoie :
interface IndexStats {
dimension: number
count: number
metric: 'cosine' | 'euclidean' | 'dotproduct'
}
deleteIndex()Lien direct vers deleteindex
indexName:
string
Nom de l'index à supprimer
updateVector()Lien direct vers 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
number[]
Record<string, any>
deleteVector()Lien direct vers deletevector
indexName:
string
Nom de l'index contenant le vecteur
id:
string
Identifiant du vecteur à supprimer
Types de réponseLien direct vers Types de réponse
Les résultats de la requête sont renvoyés dans ce format :
interface QueryResult {
id: string
score: number
metadata: Record<string, any>
vector?: number[] // Only included if includeVector is true
}
Gestion des erreursLien direct vers Gestion des erreurs
Le stockage lève des erreurs typées qui peuvent être interceptées :
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'environnementLien direct vers Variables d'environnement
Variables d'environnement requises :
ASTRA_DB_TOKEN: votre jeton de l'API Astra DBASTRA_DB_ENDPOINT: votre endpoint de l'API Astra DB