AVA — agentes locales en una sola GPU
Una plataforma de datos privada para Windows: agentes Qwen3 que se ejecutan en tu propia GPU crean bases de datos Hadoop, flujos de n8n y paneles de ciencia de datos. Nada sale del equipo a menos que tú lo publiques.
Desplázate para explorarUna carpeta, cuatro motores
Toda la plataforma se instala de forma portátil dentro del repositorio — unos 25 GB, sin permisos de administrador para el software del proyecto. Cada servicio escucha solo en 127.0.0.1.
/warehouse: una base de datos por carpeta de origen:9870Cinco agentes, cada uno con sus permisos
Todos razonan sobre qwen3:8b-64k, y cada uno tiene su propio Modelfile, lanzador (<nombre>.exe) y agent.json con sus permisos. Ava crea agentes nuevos cuando hacen falta.
ava
Crea los agentes que le pides con su skill agent_coordinator, concede y revoca privilegios, coordina a los agentes delegándoles tareas y cambia el agente activo.
dbagent
Convierte carpetas en bases de datos Hadoop: csv, json, parquet, xlsx, xml, sas, stata… limpiando encabezados e infiriendo tipos.
ds_agent
Estadística con tamaños de efecto e intervalos de confianza, modelos de scikit-learn y PyTorch, scraping de productos y servicios, pronósticos con intervalos y paneles reproducibles.
n8n_agent
Crea y repara flujos de n8n usando 7.822 plantillas de IA de n8n como referencia; luego los despliega y los prueba.
web_agent
Crea páginas web, apps y GUI con animación (aparición al hacer scroll, contadores, transiciones), accesibles, adaptables y sin conexión.
Responde como le hablas
La respuesta llega siempre en el idioma de la pregunta original, aunque el agente haya trabajado en otro.
Una ventana para todo el equipo
Así es la aplicación de escritorio: las pestañas a la izquierda, un botón por agente y el chat con el agente elegido, con la etapa de cada solicitud en una barra de progreso. Pruébala: esta réplica no está conectada a ningún modelo.
| hotel_cancellations | 2026-10-07 02:10 | 3 | 2 | 2 | 4 |
2026-10-07 02:10
• gradient_boosting: roc_auc = 0.9112, accuracy = 0.8571, f1 = 0.8013
| hotel | is_canceled | lead_time | arrival_date_year | adults | adr | country |
|---|---|---|---|---|---|---|
| Resort Hotel | 0 | 342 | 2015 | 2 | 0.0 | PRT |
| Resort Hotel | 0 | 737 | 2015 | 2 | 0.0 | PRT |
| Resort Hotel | 0 | 7 | 2015 | 1 | 75.0 | GBR |
| Resort Hotel | 0 | 13 | 2015 | 1 | 75.0 | GBR |
| Resort Hotel | 0 | 14 | 2015 | 2 | 98.0 | GBR |
| Resort Hotel | 1 | 85 | 2015 | 2 | 82.0 | PRT |
| Resort Hotel | 1 | 75 | 2015 | 2 | 105.5 | PRT |
Réplica interactiva: cambia de pestaña, elige un agente o envía un mensaje. Las respuestas son de ejemplo; en la aplicación real las escribe el modelo en tu GPU. Los datos de las pestañas son ilustrativos.
El relevo de GPU
Con 12 GB de VRAM, cada agente necesita la GPU entera para su modelo y su contexto. Por eso un gestor no retiene la GPU mientras su equipo trabaja: la cede.
Encolar. El gestor llama a queue_task una vez por paso y después a hand_over_gpu.
Guardar y liberar. Su conversación se guarda comprimida en el almacenamiento temporal de la conversación y su modelo sale de la GPU.
Turnos. Cada agente en cola recibe la GPU completa y avisa al gestor con su informe.
Despachar. Un despachador qwen3:8b, solo en CPU y en RAM, razona si continuar o despertar al gestor.
Despertar. El gestor vuelve con su contexto restaurado y un mensaje [relay] con todos los informes.
Ventana activa más memoria comprimida
La ventana activa en la GPU crece 8k → 16k → 32k → 48k → 64k tokens mientras el modelo quepa en el 90 % de la VRAM (pesos + caché KV + búferes). Cuando la ventana se llena, los turnos más antiguos pasan completos a archivos gzip, la ventana vuelve a empezar y el agente los recupera con recall_memory, hasta 1M de tokens por conversación.
¿Por qué no una ventana de 1M?
La caché KV de qwen3:8b necesitaría unos 80 GB de memoria de GPU. qwen3:8b-64k amplía el contexto del modelo a 65.536 tokens con escalado RoPE YaRN, y en 12 GB eso deja margen bajo el 90 %.
Temporal y compartida
Una carpeta por conversación, compartida por todos los agentes que participan en ella, y se borra al terminar.
Probado
~26.800 tokens movidos a un archivo de 815 bytes; el modelo recuperó por sí solo un código de proyecto en 20 s.
dbagent aprende practicando
En un entorno aislado, dbagent resuelve 13 familias de tareas generadas con comprobaciones automáticas. Lo que funciona se convierte en sus habilidades.
Entorno y recompensa
Una copia temporal de dbagent con permiso solo sobre la carpeta del episodio; todo se limpia al final.
Estrategias y lecciones
Un bandido UCB1 elige estrategia por familia; el modelo escribe lecciones tras cada fallo y solo se conservan las que suben la recompensa.
Ajuste fino LoRA
Los episodios con éxito entrenan un adaptador LoRA que se evalúa como cualquier otro modelo.
Recompensa (máx. 1): proporción de comprobaciones superadas − 0,03 por llamada extra − 0,05 por llamada fallida − 0,5 por infracción. Las semillas múltiplo de 5 se reservan para evaluar, y solo se promociona lo que mejora en ellas.
Permisos comprobados en cada llamada
Los agentes solo reciben las herramientas de los privilegios que tienen. Una revocación surte efecto al instante.
Detallados
fs.read/write, hdfs.*, database.create/drop, table.select/insert/alter… sobre *, una base de datos o una tabla.
Recuperables
Los cambios destructivos van a /warehouse/_trash; todo queda registrado en audit/privileges.jsonl.
Carpetas seguras
Las carpetas fuera del repositorio solo se aceptan si aparecen en la propia petición, así que los datos que lee un agente no pueden desviarlo.
Clientes remotos
Otros PC se conectan por Tailscale con privilegios por cliente, un token cifrado con hash, registro de auditoría y desconexión con un botón.
Una pregunta a AVA
Una grabación breve de la ventana de AVA. El cronómetro arranca cuando se envía la pregunta y se detiene cuando termina la respuesta: así ves cuánto tarda el modelo local.
Añade
docs/media/ava-demo.mp4“¿Para qué sirve el agente?”
Grabado en una RTX 5070 Ti Laptop GPU (12 GB). El tiempo incluye el razonamiento, porque todos los agentes piensan antes de responder.
Latencia por agente y por GPU
De agents/benchmark.py: cada agente arranca con todos los modelos descargados de la GPU y responde «di quién eres y qué puedes hacer», con su propio prompt, herramientas y razonamiento. Cada barra separa la carga del modelo, la espera hasta el primer token y la generación. Segundos; menos es más rápido.
Ver como tabla
| Agente | Modelo | Contexto | Carga (s) | Primer token (s) | Primera respuesta (s) | Total (s) | Tokens/s | Prompt (tokens/s) | VRAM (MB) |
|---|
Usar AVA web en local o por Internet con Tailscale
AVA_web.cmd sirve en el navegador lo mismo que la ventana de AVA: una página de inicio de sesión y una página por usuario del archivo de credenciales, con sus pestañas y sus agentes. Sin abrir puertos: en este equipo, en tus dispositivos de la tailnet o, para las páginas que apruebes, en Internet con Tailscale Funnel.
Esta es la aplicación original de AVA web (agents/web/login.html y AVA_agents.html, sin cambios), como plantilla: un servidor simulado en el navegador sustituye al de AVA, así que no está conectada a nada. Entra con cualquier usuario (cualquier contraseña), cambia de pestaña, escribe a un agente, consulta las tablas de ejemplo o añade filas. Las respuestas y los datos son de ejemplo.
AVA monitor: el servidor de GPU de AVA web
http://127.0.0.1:8650 · tailnet :8651, con tokenCada GPU tiene su Ollama y su cola de modelos; cada sesión de AVA web, un nombre, una GPU y sus puertos. Varias sesiones en una GPU se turnan en su cola, una sesión parada se despierta con la primera petición, y las GPU se intercambian entre sesiones con un botón. Cuando escribes en la réplica de arriba, su petición aparece aquí.
New session
GPUs
Sessions
Charts · GPU load, last 2 minutes
Events
Réplica de AVA monitor con datos simulados: arranca, para o reinicia sesiones, cámbiales la GPU, intercámbialas o crea una nueva. El monitor real lee nvidia-smi, Ollama y la cola de cada GPU cada pocos segundos.
# en el servidor AVA\agents\web\AVA_web.cmd → http://127.0.0.1:8630 AVA_monitor\AVA_monitor.cmd → http://127.0.0.1:8650 # tailnet e Internet: netagent publica las URL (privilegio lan.publish ava_web) AVA\agents\netagent\netagent.exe "Publica AVA web en la tailnet y en Internet"
Instalación en una sola ventana
Windows 10/11 x64, una GPU NVIDIA, ≥ 30 GB libres y una ruta de carpeta sin espacios.
1 · Descarga el repositorio
git clone https://github.com/gamindful/AVA.git
2 · Ejecuta
AVA_installer.exeResponde a todas las preguntas una sola vez en la primera ventana; después la instalación sigue hasta el final sin preguntar nada.
3 · Abre AVA Agents desde la barra de tareas
Pestañas: Agents, Analysis, Clients, Databases. O desde la terminal:
python manage.py chat.