AvantGate mete el control de costes y PII de un LLM dentro del proceso
La librería se instala como dependencia de npm y promete presupuestos de tokens, redacción de datos personales y conmutación entre modelos sin levantar Postgres, Redis ni ClickHouse.
Un desarrollador ha publicado AvantGate, una librería de TypeScript que actúa como plano de control de las llamadas a modelos de lenguaje dentro del propio proceso de la aplicación. La idea es esquivar la pila de observabilidad que suele acompañar a estos despliegues: sin contenedores, sin Postgres, sin ClickHouse, sin Redis y sin S3 para vigilar el tráfico. Solo el paquete embebido en el runtime.
El autor lo plantea como alternativa a Langfuse o Helicone para proyectos pequeños. Su argumento es el coste: montar y mantener esa infraestructura solo para monitorizar unas cuantas llamadas sale más caro que las propias llamadas al modelo. AvantGate se declara en el código junto al resto de la configuración de la app.
Qué promete
Las funciones que anuncia son estas:
- Redacción de datos personales en local, antes de que el texto salga hacia el proveedor.
- Validación de la respuesta con esquemas Zod.
- Presupuestos de gasto y límites de tasa por minuto, sostenidos en memoria o en almacenamiento local.
- Conmutación automática entre modelos cuando se agota un límite o el proveedor devuelve un error 5xx. El ejemplo que da va de Sonnet 3.5 a GPT-4o-mini.
- Logs y prompts que no abandonan el proceso.
La configuración cabe en un bloque como este:
import { AvantGate } from 'avantgate';
const gate = new AvantGate({
budget: { maxCostPerMinute: 0.50 },
pii: { redact: ['email', 'credit-card'] },
fallback: ['openai/gpt-4o-mini', 'anthropic/claude-3-haiku']
});
const response = await gate.completions.create({
model: 'anthropic/claude-3-5-sonnet',
messages: [{ role: 'user', content: userInput }]
});
Lo que no dice
El mensaje no enlaza a ningún repositorio, no menciona licencia ni versión publicada, y no aporta cifras de descargas ni pruebas de rendimiento. Tampoco aclara qué pasa con los contadores de gasto cuando el proceso se reinicia, ni si el almacenamiento local sobrevive a un contenedor efímero. Son preguntas que cualquier equipo se haría antes de meter esto en producción, y el autor no las responde porque su texto es, sobre todo, una presentación del proyecto.
Ahí está el interés y también el límite. Quien tenga un LLM autoalojado y esté harto de que la observabilidad le cueste más que la inferencia tiene aquí una idea razonable: mover las barreras de gasto y de privacidad al mismo sitio donde corre el código. Pero sin repositorio público, sin licencia y sin métricas de terceros, de momento es lo que dice su autor y poco más.


