Files
msaldain 5b9f2a58bc Ajustes tras validar el harness contra la API real
Un lote de humo de 2 pedidos contra la Batch API confirmó el camino completo
—crear, consultar estado, recoger, normalizar— y dejó dos cosas a corregir:

- El costo estimado se redondeaba a 2 decimales, así que un trabajo chico
  informaba US$ 0.0. Pasa a 4 decimales: en una prueba de humo importa saber
  que gastaste algo, no que gastaste nada.
- cache_read_input_tokens quedó en 0. La causa es que el mínimo cacheable de
  Opus 5 son 512 tokens y el prompt de sistema de la prueba tenía 86: la marca
  cache_control no hace nada por debajo de ese umbral, y no avisa. Queda
  documentado en el código y en la config, con cómo detectarlo.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-07-27 23:39:25 -03:00

43 lines
1.9 KiB
YAML

# Generación de datos sintéticos con la Batch API (Etapa 3 del plan).
#
# Se usa la Batch API y no llamadas sueltas porque cuesta la mitad y generar un
# dataset no es sensible a la latencia. A cambio el trabajo es asincrónico y
# puede tardar horas: el estado vive en disco y es reanudable.
#
# Esto NO hace falta para entrenar ni para correr ENLACE. Solo se usa al armar
# el dataset SFT, y solo para la parte difícil: identidad y casos límite. El
# grueso sale de plantillas (cero modelo) y de un 7-8B local en la 2060.
model: claude-opus-5
# En este modelo el pensamiento está activo por defecto y max_tokens acota
# pensamiento + respuesta juntos: sin holgura la salida se corta a la mitad.
# 8000 alcanza de sobra para ejemplos de SFT, que son cortos.
max_tokens: 8000
# Generar parafraseos y ejemplos etiquetados no es trabajo intensivo en
# razonamiento. `low` baja el costo bastante sin perder calidad acá; subilo a
# `medium` para el set de identidad, que sí exige coherencia fina.
effort: low
# Tope de la API: 100.000 pedidos o 256 MB por lote. Se parte bien por debajo
# para no depender de que una request HTTP enorme llegue entera.
requests_per_batch: 10000
poll_interval_seconds: 60
max_wait_hours: 26 # la API promete < 24 h; el resto es red de seguridad
output_dir: data/distill
# Solo para el reporte de costo estimado. Los precios reales los factura
# Anthropic; esto sirve para saber en qué orden de magnitud estamos.
usd_per_mtok_input: 5.0
usd_per_mtok_output: 25.0
batch_discount: 0.5
# NOTA sobre el caché: el prompt de sistema compartido va marcado con
# cache_control, pero el mínimo cacheable de Opus 5 son 512 tokens. Un prompt
# más corto no se cachea y la marca no hace nada — sin error, en silencio.
# Verificalo con `distill usage`: si cache_read_input_tokens queda en 0 sobre
# un trabajo grande, alargá el prompt de sistema o asumí el costo completo.