failproofai-sdk, bajo failproofai_sdk.evaluator; importar el SDK de trazado no lo carga.
Escribe evaluaciones
@app.eval(key, version=...)registra una evaluación. La clave es el nombre bajo el que aparecen sus resultados; cambia la versión cada vez que cambie la lógica, y cada resultado conserva la versión que lo generó. Un worker puede contener hasta 100 evaluaciones.result_kindes"score"salvo que se indique lo contrario. Para una evaluación de tipo"metric"o"assertion", nombra una entrada demetricsoassertionscon la misma clave: esa entrada es su resultado.whendetermina si una sesión aplica. DevuelveConditionResult(False, "<reason>")para omitirla, y el motivo queda registrado.- Una evaluación puede ser una función normal o
async, ytimeout_secondsla acota en el tiempo. - Las claves de payload —
tool_name,responseycontenten el ejemplo — son las que envíen tus agentes, así que léelas de una sesión real.
Ejecuta el worker
Coloca una clave con el permisoevaluations:run, creada en Administration → Keys, en FAILPROOFAI_EVALUATOR_TOKEN — establécela desde tu almacén de secretos en lugar de escribirla directamente en un comando — y arranca el worker:
__main__, python -m failproofai_sdk.evaluator evaluator:app hace lo mismo.
Tipos de resultado
Un
EvalResult contiene al menos una puntuación, métrica o aserción, y como máximo 25, cada una bajo una clave única.
La sesión
Cada evento contiene
id, ts, event_type y payload.
El evaluador heredado
El SDK de Evaluación anterior — un servicio HTTP al que Failproof AI llamaba enEVALUATOR_ENDPOINT, que respondía en /evaluate y se sondeaba mediante JobPending — ha sido retirado. Crea nuevos evaluadores con este worker; los operadores de una instancia autohospedada que ejecute un servicio heredado pueden mantenerlo durante la transición.
