Módulos

Almacenamiento: conocimiento y datos

Contextos de conocimiento con búsqueda híbrida y contextos de datos con tablas tipadas y SQL de solo lectura.

En esta página

El módulo Almacenamiento guarda lo que la plataforma utiliza para responder y automatizar: documentos indexados para búsqueda y tablas estructuradas para consulta. Todo permanece en las bases de datos y el almacenamiento de su instalación.

Tipos de contexto

Tipo Qué guarda
Conocimiento Documentos leídos, divididos en fragmentos, vectorizados e indexados para búsqueda y chat.
Datos Tablas que usted define, completadas desde archivos o manualmente y consultadas con SQL. Los archivos guardados en él no se indexan.
Personal El área fija de cada persona, con los archivos adjuntados en sus propias conversaciones. Solo ella la ve.

Los contextos se organizan por workspace y tienen un propietario, que puede compartirlos con otras personas y transferir la propiedad.

Contextos de conocimiento

Carga de archivos

Cargue archivos o carpetas completas, de hasta 100 MB por archivo; cada archivo conserva la ruta relativa de la carpeta. Los archivos pueden moverse o renombrarse, y el original puede descargarse en cualquier momento.

Formatos leídos

  • Texto: txt, md, csv, tsv, json, xml, html y log.
  • Documentos: PDF digital, docx, xlsx y pptx.
  • Imágenes: descritas por un modelo de visión local, para que puedan buscarse.
  • Audio y video: transcritos por un modelo de transcripción local.

A los PDF escaneados sin capa de texto y a los formatos heredados de Office (.doc, .xls, .ppt) no se les extrae el texto.

Ingesta

La ingesta se ejecuta en segundo plano, en el servicio worker:

Texto
carga
  -> original en el almacenamiento de objetos (MinIO o S3)
  -> tarea en la cola de PostgreSQL
  -> extracción del texto
  -> división en fragmentos según la estructura del documento
  -> embeddings con el modelo del contexto
  -> índice léxico en PostgreSQL y vectores en Milvus
  -> categoría y etiquetas sugeridas por el modelo de chat
  -> documento indexado

El estado de indexación de cada documento es indexed (búsqueda semántica y textual), lexical_only (solo búsqueda textual) o index_failed.

Búsqueda híbrida

La búsqueda combina vectores en Milvus y búsqueda textual en PostgreSQL, fusiona ambos resultados mediante Reciprocal Rank Fusion y reordena los mejores candidatos con un modelo de rerank. Los fragmentos recuperados aparecen con su puntuación en el chat y en la traza de los flujos.

Modelo de embeddings

Cada contexto fija su propio modelo de embeddings. Cambiar el modelo genera de nuevo los embeddings y reindexa todos los documentos del contexto. Los embeddings y el rerank utilizan modelos servidos localmente, con API compatible con OpenAI.

Inspector de vectores

El inspector ejecuta la búsqueda híbrida en todos los contextos, en un contexto o en un archivo y muestra, para cada fragmento, el texto, los términos léxicos, las dimensiones y la norma del vector.

Clasificación

Cada documento puede recibir una clasificación: public, internal, confidential o restricted. La clasificación es una etiqueta de organización; el control de acceso se realiza por workspace, por uso compartido y por módulo.

Contextos de datos

Tablas tipadas

Las tablas tienen columnas de tipo texto, entero, decimal, booleano, fecha, fecha y hora y JSON, con clave primaria, columnas buscables y una etiqueta de sensibilidad por columna (public, internal, confidential o personal).

Carga de datos

  • Archivos CSV, TSV o XLSX de hasta 100 MB, en modo de adición o de reemplazo. En el reemplazo, la carga se realiza en una tabla temporal y el contenido se sustituye solo al final, sin dejar la tabla vacía si la carga falla.
  • Inclusión manual de filas, hasta 5.000 por operación.
  • Cada carga muestra las líneas rechazadas y el motivo de cada una. Los rechazos también ingresan al registro de irregularidades de la gobernanza.

Consultas SQL

El SQL de los usuarios se ejecuta con un rol de base de datos separado, de solo lectura, aislado de la base de datos de la aplicación: una instrucción SELECT a la vez, con tiempo máximo de ejecución y hasta 1.000 filas por resultado.

El SQL ad hoc viene desactivado en cada contexto de datos y se activa con la opción Permitir SQL ad-hoc. Mientras está desactivado, ni la consulta manual ni el chat consultan el contexto. Los bloques de flujo funcionan con él desactivado, porque su SQL se valida al publicar el flujo.

Uso en los flujos

  • Consulta de datos: lee filas con SQL de una tabla.
  • Escritura de datos: escribe filas, por ejemplo la salida estructurada de un bloque de IA.
  • Cargar archivos: carga hojas de cálculo o CSV desde una carpeta de Almacenamiento en una tabla.

Consulte Flujos y programaciones.

Buenas prácticas

  • Separe los contextos por finalidad y por público: el uso compartido se realiza por contexto.
  • Mantenga el mismo modelo de embeddings mientras el contexto esté en uso; el cambio reindexa todo.
  • Mantenga el SQL ad hoc desactivado, como viene de forma predeterminada, en los contextos de datos a los que solo deben acceder flujos publicados.

Documentaciónv3.7