Aller au contenu principal

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 constructeur
Lien direct vers Options du constructeur

accountId:

string
ID du compte Cloudflare

apiToken:

string
Token API Cloudflare doté des autorisations Vectorize

Méthodes
Lien 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éponse
Lien 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 erreurs
Lien 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'environnement
Lien direct vers Variables d'environnement

Variables d'environnement requises :

  • CLOUDFLARE_ACCOUNT_ID : ID de votre compte Cloudflare
  • CLOUDFLARE_API_TOKEN : token API Cloudflare doté des autorisations Vectorize