Stockage vectoriel Cloudflare
La classe CloudflareVector fournit une recherche vectorielle avec Cloudflare Vectorize, un service de base de données vectorielle intégré au réseau edge de Cloudflare.
Options du constructeurLien direct vers Options du constructeur
accountId:
string
ID du compte Cloudflare
apiToken:
string
Token API Cloudflare doté des autorisations Vectorize
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 de la recherche par similarité (dotproduct correspond au produit scalaire)
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[]
ID de vecteurs facultatifs (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 s’il faut inclure les vecteurs 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
createMetadataIndex()Lien direct vers createmetadataindex
Crée un index sur un champ de métadonnées afin d'activer le filtrage.
indexName:
string
Nom de l’index contenant le champ de métadonnées
propertyName:
string
Nom du champ de métadonnées à indexer
indexType:
'string' | 'number' | 'boolean'
Type du champ de métadonnées
deleteMetadataIndex()Lien direct vers deletemetadataindex
Supprime l'index associé à un champ de métadonnées.
indexName:
string
Nom de l’index contenant le champ de métadonnées
propertyName:
string
Nom du champ de métadonnées dont il faut supprimer l’indexation
listMetadataIndexes()Lien direct vers listmetadataindexes
Répertorie tous les index de champs de métadonnées d'un index.
indexName:
string
Nom de l’index dont il faut répertorier les index de métadonnées
updateVector()Lien direct vers updatevector
Met à jour un vecteur ou des métadonnées pour un ID donné dans un index.
indexName:
string
Nom de l’index contenant l’ID à mettre à jour
id:
string
Identifiant unique du vecteur ou des métadonnées à mettre à jour
update:
{ vector?: number[]; metadata?: Record<string, any>; }
Objet contenant le vecteur et/ou les métadonnées à mettre à jour
deleteVector()Lien direct vers deletevector
Supprime un vecteur et les métadonnées qui lui sont associées pour un ID donné dans un index.
indexName:
string
Nom de l’index contenant l’ID à supprimer
id:
string
Identifiant unique du vecteur et des métadonnées à supprimer
Types de réponseLien direct vers Types de réponse
Les résultats de requête sont renvoyés au format suivant :
interface QueryResult {
id: string
score: number
metadata: Record<string, any>
vector?: number[]
}
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 :
CLOUDFLARE_ACCOUNT_ID: ID de votre compte CloudflareCLOUDFLARE_API_TOKEN: token API Cloudflare doté des autorisations Vectorize