Skip to main content
POST
Create New Index

Créer un index

Créez un nouvel index de base de connaissances pour stocker et récupérer des documents.

Point de terminaison

Description

Ce point de terminaison permet aux administrateurs de créer un nouvel index de base de connaissances. L’index peut être attribué à des utilisateurs ou à des groupes spécifiques. Seuls les administrateurs peuvent créer des index.

Authentification

Obligatoire : clé API avec privilèges d’administrateur

Corps de la demande

Exemple de demande

Réponse réussie

Code d’état : 201 Created

Champs de réponse

Exemple d’utilisation

###JavaScript
###Python

boucle

Réponses d’erreur

400 Requête incorrecte

Validations et règles métier

  • Normalisation du nom d’index (pour les contrôles de stockage et d’unicité) :
    • Minuscules, couper les espaces
    • Remplacer les espaces par des tirets
    • Supprimer tout caractère ne figurant pas dans [a-z0-9-]
  • Validation du nom de l’index : doit correspondre à ^[a-z0-9-]{3,50}$ ; sinon, renvoie 400.
  • Unicité : name normalisé doit être unique ; les doublons renvoient 409.
  • Quota d’utilisateur attribué : si assignedUser est fourni, appliquez le quota d’index utilisateur via checkUserIndexQuota ; le dépassement du quota renvoie 403.
  • Restriction régionale (essentielle) : pour la licence Essential, les index ne peuvent être créés qu’avec cloud=aws et region=us-east-1 ; sinon 403.
  • Groupe attribué : Lorsque assignedGroup est fourni, le groupe doit exister et ne pas être archivé (status != 'Archived') ; sinon 400.

Normalisation et stockage

  • name est stocké normalisé.
  • sharedIndexName est par défaut le name normalisé.
  • namespace est par défaut user-{userId}-index-{normalizedName} lorsqu’il est attribué à un utilisateur.

Formes d’erreur typiques

400 Nom d’index invalide

403 Quota d’index dépassé

403 Région non autorisée

400 Groupe invalide/inactif

401 Non autorisé

403 Interdit

409 Conflit

429 Trop de demandes

Types d’index

Champs obligatoires

Cas d’utilisation

  • Affectation d’utilisateur : créez des index et attribuez-les à des utilisateurs spécifiques
  • Affectation de groupe : créez des index et attribuez-les à des groupes
  • Bases de connaissances : créez des bases de connaissances spécialisées pour des domaines spécifiques
  • Organisation du contenu : organisez le contenu par sujet ou par catégorie
  • Stockage vectoriel : créez des index pour stocker et récupérer des intégrations vectorielles

Limites de taux

  • Par défaut : 50 requêtes par minute
  • Quotidien : 5 000 requêtes par jour
  • Mensuel : 150 000 demandes par mois

Remarques

  • Ce point de terminaison n’est accessible que par les administrateurs
  • Champs obligatoires : nom, région, cloud sont tous obligatoires
  • Affectation : l’index peut être attribué à un utilisateur (assignedUser) ou à un groupe (assignedGroup)
  • Génération automatique : l’espace de noms est généré automatiquement s’il n’est pas fourni
  • Noms uniques : les noms d’index doivent être uniques dans tout le système.
  • L’index est immédiatement disponible pour utilisation après sa création
  • Dimension : La dimension vectorielle est gérée en interne par l’application (actuellement 4096)
  • Métrique : la métrique de similarité est gérée en interne par l’application

Autorisations

Authorization
string
header
requis

API key authentication using Bearer token format. Example: Authorization: Bearer sk-your-api-key-here

Corps

application/json
name
string
requis

Index name

Exemple:

"my-knowledge-base"

region
string
requis

AWS/GCP region for the vector database (e.g., "us-east-1", "us-west-1")

Exemple:

"us-east-1"

cloud
enum<string>
requis

Cloud provider ("aws" or "gcp")

Options disponibles:
aws,
gcp
Exemple:

"aws"

assignedUser
string

User ID to assign the index to (MongoDB ObjectId)

Exemple:

"60a7c8f5e8b4f5001f7a8c24"

assignedGroup
string

Group ID to assign the index to (MongoDB ObjectId)

Exemple:

"60a7c8f5e8b4f5001f7a8c25"

sharedIndexName
string

Shared index name (optional, defaults to name)

Exemple:

"my-knowledge-base"

namespace
string

Namespace for the index (optional, auto-generated)

Exemple:

"user-60a7c8f5e8b4f5001f7a8c24-index-my-knowledge-base"

Réponse

Index created successfully

success
boolean
Exemple:

true

message
string
Exemple:

"Index created successfully"

index
object