Uso de Tokens y Seguimiento de Costos
Rastrea el consumo de tokens por modelo y sesion. Establece presupuestos diarios para controlar el gasto. Consulta estadisticas desde Telegram con /cost.
Como Funciona
- Cada llamada al LLM registra tokens de entrada y salida en la tabla SQLite
token_usage - Cada registro incluye: nombre del modelo, ID de sesion, conteos de tokens y marca de tiempo
- Opcionalmente, establece un presupuesto diario de tokens que bloquea llamadas al LLM una vez excedido
- El presupuesto se reinicia automaticamente a medianoche UTC
Configuracion
| Key | Type | Default | Description |
|---|---|---|---|
daily_token_budget | integer | null | Maximo total de tokens (entrada + salida) por dia. Null = ilimitado. |
config.toml
[state]
daily_token_budget = 1000000 # 1M tokens per dayAlcance del Presupuesto
El presupuesto diario es global β cuenta todos los tokens en todas las sesiones y modelos. Cuando se excede, las llamadas al LLM devuelven un error hasta la medianoche UTC.
Comando /cost de Telegram
Envia /cost en Telegram para ver las estadisticas de uso:
text
Token usage (last 24h):
Input: 12,450 tokens
Output: 8,230 tokens
Token usage (last 7d):
Input: 87,320 tokens
Output: 52,180 tokens
Top models (7d):
gemini-3-flash-preview: 98,400 tokens
gemini-3-pro-preview: 41,100 tokensEsquema de Base de Datos
| Key | Type | Default | Description |
|---|---|---|---|
id | INTEGER PK | auto | Clave primaria auto-incremental |
session_id | TEXT | β | Que sesion de usuario/chat realizo la llamada |
model | TEXT | β | Que modelo LLM se uso |
input_tokens | INTEGER | β | Tokens enviados al modelo |
output_tokens | INTEGER | β | Tokens generados por el modelo |
created_at | TEXT | now | Marca de tiempo UTC de la llamada |
Que se Rastrea
- Tokens de entrada (contexto + mensaje del usuario) por llamada al LLM
- Tokens de salida (respuesta del modelo) por llamada al LLM
- Nombre del modelo para desgloses por modelo
- ID de sesion para seguimiento por usuario
- Marca de tiempo para consultas por ventana temporal (24h, 7d)