Skip to main content
POST
Create New Index

Crear índice

Cree un nuevo índice de base de conocimientos para almacenar y recuperar documentos.

Endpoint

Descripción

Este endpoint permite a los administradores crear un nuevo índice de base de conocimientos. El índice se puede asignar a usuarios o grupos específicos. Sólo los administradores pueden crear índices.

Autenticación

Requerido: Clave API con privilegios de administrador

Cuerpo de solicitud

Solicitud de ejemplo

Respuesta exitosa

Código de estado: 201 Created

Campos de respuesta

Ejemplo de uso

JavaScript

Pitón

rizo

Respuestas de error

400 Solicitud incorrecta

Validaciones y reglas de negocio

  • Normalización del nombre del índice (para comprobaciones de almacenamiento y unicidad):
    • Minúsculas, recortar espacios en blanco
    • Reemplazar espacios con guiones
    • Elimina cualquier carácter que no esté en [a-z0-9-]
  • Validación del nombre del índice: debe coincidir con ^[a-z0-9-]{3,50}$; de lo contrario devuelve 400.
  • Singularidad: el name normalizado debe ser único; los duplicados devuelven 409.
  • Cuota de usuario asignada: si se proporciona assignedUser, aplique la cuota de índice de usuario a través de checkUserIndexQuota; la cuota excedida devuelve 403.
  • Restricción de región (Esencial): Para la licencia Essential, los índices solo se pueden crear con cloud=aws y region=us-east-1; de lo contrario 403.
  • Grupo asignado: Cuando se proporciona assignedGroup, el grupo debe existir y no estar archivado (status != 'Archived'); en caso contrario 400.

Normalización y almacenamiento

  • name se almacena normalizado.
  • sharedIndexName por defecto es el name normalizado.
  • namespace por defecto es user-{userId}-index-{normalizedName} cuando se asigna a un usuario.

Formas de error típicas

400 Nombre de índice no válido

Cuota de índice 403 excedida

403 Región no permitida

400 Grupo no válido/inactivo

401 No autorizado

403 Prohibido

409 Conflicto

429 Demasiadas solicitudes

Tipos de índice

Campos obligatorios

Casos de uso

  • Asignación de usuarios: cree índices y asígnelos a usuarios específicos
  • Asignación de grupo: cree índices y asígnelos a grupos
  • Bases de conocimiento: cree bases de conocimiento especializadas para dominios específicos
  • Organización de contenido: organiza el contenido por tema o categoría
  • Almacenamiento vectorial: cree índices para almacenar y recuperar incrustaciones de vectores

Límites de tarifas

  • Predeterminado: 50 solicitudes por minuto
  • Diario: 5000 solicitudes por día
  • Mensual: 150.000 solicitudes por mes

Notas

  • Solo los administradores pueden acceder a este endpoint.
  • Campos obligatorios: nombre, región y nube son todos obligatorios
  • Asignación: el índice se puede asignar a un usuario (assignedUser) o a un grupo (assignedGroup)
  • Generación automática: el espacio de nombres se genera automáticamente si no se proporciona
  • Nombres únicos: los nombres de los índices deben ser únicos en todo el sistema.
  • El índice está disponible inmediatamente para su uso después de su creación.
  • Dimensión: la dimensión vectorial es gestionada internamente por la aplicación (actualmente 4096)
  • Métrica: la aplicación gestiona internamente la métrica de similitud.

Autorizaciones

Authorization
string
header
requerido

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

Cuerpo

application/json
name
string
requerido

Index name

Ejemplo:

"my-knowledge-base"

region
string
requerido

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

Ejemplo:

"us-east-1"

cloud
enum<string>
requerido

Cloud provider ("aws" or "gcp")

Opciones disponibles:
aws,
gcp
Ejemplo:

"aws"

assignedUser
string

User ID to assign the index to (MongoDB ObjectId)

Ejemplo:

"60a7c8f5e8b4f5001f7a8c24"

assignedGroup
string

Group ID to assign the index to (MongoDB ObjectId)

Ejemplo:

"60a7c8f5e8b4f5001f7a8c25"

sharedIndexName
string

Shared index name (optional, defaults to name)

Ejemplo:

"my-knowledge-base"

namespace
string

Namespace for the index (optional, auto-generated)

Ejemplo:

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

Respuesta

Index created successfully

success
boolean
Ejemplo:

true

message
string
Ejemplo:

"Index created successfully"

index
object