Subir recursos
Cada componente busca sus archivos en un sitio concreto y con un nombre concreto. Por eso, en vez de un único botón de subir, hay un asistente para cada tipo de recurso: te pide lo que necesita el componente, comprueba el archivo antes de guardarlo y al terminar te dice qué escribir en cada campo.
El menú Subir
Pulsa Subir en la cabecera de la página de almacenamiento y elige qué vas a subir.

Todos los asistentes funcionan igual:
- Arrastra el archivo a la zona punteada o haz clic para elegirlo. Si el tipo no es el que espera el componente, lo verás antes de subir nada.
- Indica dónde va: la carpeta, el nombre o el flujo. El asistente propone un nombre válido a partir del archivo. Por ejemplo,
Tienda Online.sqlite3se convierte enTienda_Online, porque los campos de los componentes no admiten espacios. - Si ya existe algo con ese nombre, verás un aviso y tendrás que marcar que quieres reemplazarlo. Nunca se sobrescribe nada sin preguntar.
- Pulsa Subir. Al terminar verás qué se ha guardado y los valores para el componente, con botones para copiarlos.
Los archivos grandes se envían por partes y se reintentan solos si la conexión falla un momento. El límite es de 5 GB por archivo.
Base de datos SQLite
Para usar en el componente SQLite una base de datos que ya tienes en tu equipo.

- Archivo:
.db,.sqliteo.sqlite3. Antes de subirlo se comprueba que es de verdad una base SQLite. - Persist Directory: la carpeta donde se guarda. Elige una que exista o crea una nueva con + Nueva carpeta….
defaultes la que usa el componente cuando el campo está vacío. - Database Name: el nombre con el que la abrirá el componente. Se guarda siempre como
<nombre>.db, aunque el archivo original fuera.sqlite.
Al terminar, NappAI abre la base para comprobar que no está dañada y te muestra sus tablas con su número de filas:

En el componente SQLite, escribe esos dos valores y usa la operación SQL para consultarla. Si conectas su salida Database Info a un SQL Agent, podrás preguntarle en lenguaje natural.
Base de datos Chroma
Para usar en Chroma DB una base vectorial ya creada: la que descargaste de otra instalación de NappAI o una que creaste en tu equipo.
- Archivo: un
.zipcon la carpeta completa de la base. Sirve tal cual el ZIP que da la descarga de una carpeta de Chroma DB. - Persist Directory: el nombre de la carpeta. Si eliges una existente, su contenido se sustituye por el del ZIP.
Antes de guardarla, NappAI comprueba que la base se puede abrir y lee sus colecciones. Si no es una base válida, no se toca nada. Al terminar verás un Collection Name por cada colección.

En el componente, deja vacío Chroma Server Host para que use la carpeta local.
Índice FAISS
Para usar en el componente FAISS un índice ya creado.
- Archivo: el
.zipde la carpeta del índice (el de la descarga), o sus dos archivos, el.faissy el.pklcon el mismo nombre. - Persist Directory: la carpeta del índice.
Al terminar verás el Index Name: es el nombre de esos archivos sin la extensión.
Conecta al componente el mismo modelo de embeddings con el que se creó el índice: así las búsquedas encuentran lo que buscas.
Modelo entrenado
Para usar un modelo .joblib entrenado en NappAI con Predictive Model, Recommender o Text Classifier, por ejemplo uno descargado de otra instalación de NappAI.

- Tipo de modelo: el componente que lo va a usar.
- Model Name: el nombre que elegirás en el campo Model Name del componente, con las operaciones de predicción o evaluación. Solo admite letras, números,
.,-y_.
Sirven los modelos guardados por estos mismos componentes.
Archivos para Python Code
Para que tu código del componente Python Code lea datos, modelos o cualquier archivo.
- Volume Directory: el volumen. Elige uno existente o crea uno nuevo.
- Archivo: cualquier archivo, o varios a la vez.
- Si subes un
.zip, puedes marcar Descomprimir como volumen completo para restaurar un volumen entero, por ejemplo uno que descargaste. Si no lo marcas, el ZIP se guarda tal cual dentro del volumen.
En el componente, escribe el Volume Directory. Dentro del código, la variable volume es la ruta de esa carpeta:
with open(f"{volume}/ventas_octubre.csv") as archivo: ventas = archivo.read()Cómo usarlo te da la ruta exacta de cada archivo para copiarla al código. Lo que tu código escriba en volume también se guarda y estará en la siguiente ejecución.
Skill
Para importar una skill y usarla en Stored Skill.
- Archivo: un
.zipo.skillcon suSKILL.md.
Se importa exactamente igual que desde Mis Skills, con las mismas comprobaciones, y el nombre de la skill sale de su SKILL.md. Después aparece en el campo Skill de Stored Skill. Para editarla, ve a Mis Skills.
Archivos de un flujo
Para los documentos, imágenes, CSV o audios que leen componentes como File, Image File, CSV to Data List o Video and Audio Loader.
- Flujo: el flujo en cuya carpeta se guardan.
- Archivo: uno o varios, de cualquier tipo.
Cómo usarlo te da el valor del campo de archivo del componente con el formato <id-del-flujo>/<archivo>, que funciona desde cualquiera de tus flujos, no solo desde ese.
Archivos
La sección Archivos (la carpeta files) es tu espacio propio de archivos: guardas en ella lo que quieras, con las carpetas que quieras, y tus flujos la usan con los componentes de NappAI Storage. No pertenece a ningún flujo ni a ningún componente concreto.
- Desde el explorador: ábrela y sube archivos o carpetas con el botón Subir o arrastrándolos. También puedes crear carpetas, renombrar y eliminar.
- Desde un flujo: Storage Files lista, lee, guarda, mueve, copia, elimina y crea enlaces de descarga de archivos; Storage Folders hace lo mismo con carpetas, y Storage Search busca archivos por nombre, tipo, fecha o tamaño.
En esos componentes, una ruta sin sección, como informes/q3.pdf, está dentro de Archivos (files/informes/q3.pdf). Las rutas completas de otras secciones, como pycode_data/ventas/datos.csv o <id-del-flujo>/notas.txt, también funcionan.
Un flujo puede leer todo tu almacenamiento, pero solo puede cambiar Archivos, las carpetas de archivos de cada flujo y los volúmenes de Python Code. Las bases de datos vectoriales, las bases SQLite, los modelos entrenados y las skills son de solo lectura para un flujo: puede copiarlos, pero no modificarlos ni eliminarlos.
Subir desde el explorador
En el explorador también puedes subir directamente a la carpeta abierta, con el botón Subir o arrastrando archivos y carpetas enteras a la ventana. Cada sección solo acepta lo que su componente puede leer, y el explorador te avisa si arrastras algo que no corresponde. En las secciones de Chroma, FAISS y Python Code aparece además el botón para subir un ZIP completo.
El panel de subidas
Las subidas se ven en un panel en la esquina inferior derecha, que sigue disponible aunque cierres el explorador o el asistente.

- Cada archivo muestra su progreso, la velocidad y su estado: en cola, subiendo, verificando o subido.
- La X cancela una subida en curso.
- Si ya existe un archivo con el mismo nombre, la subida se queda esperando a que elijas Reemplazar u Omitir.
- Si una subida falla, el motivo aparece debajo y puedes reintentarla con la flecha circular.
- Limpiar quita de la lista las subidas terminadas.
Si algo falla
| Mensaje | Qué hacer |
|---|---|
| El archivo no es una base de datos SQLite | Tiene la extensión, pero su contenido no es SQLite. Comprueba que es el archivo correcto. |
| La base de datos está dañada y no se puede abrir | Vuelve a exportarla desde su origen. |
| El ZIP no contiene una base Chroma válida | Comprime la carpeta completa de la base, o usa el ZIP que da la descarga. |
| No hay un índice FAISS completo | Falta el .faiss o el .pkl, no tienen el mismo nombre o hay otros archivos en el ZIP. |
| El ZIP intenta escribir fuera de su carpeta | El ZIP contiene rutas peligrosas y se rechaza entero. Vuelve a crearlo. |
| Ya existe con ese nombre | Marca la opción de reemplazar o elige otro nombre. |
| Este tipo de archivo no se puede subir a esta carpeta | Cada sección solo admite lo que lee su componente. Usa el asistente de Subir que corresponda. |
| El servidor no tiene espacio libre suficiente | Contacta con el soporte de NappAI. |