failproofai-sdk, sob failproofai_sdk.evaluator; importar o SDK de rastreamento não o carrega.
Escrever avaliações
@app.eval(key, version=...)registra uma avaliação. A chave é o nome pelo qual seus resultados são exibidos; altere a versão sempre que a lógica mudar, e cada resultado mantém a versão que o gerou. Um único worker comporta até 100 avaliações.result_kindé"score"por padrão. Para uma avaliação do tipo"metric"ou"assertion", nomeie uma entrada demetricsouassertionscom a mesma chave: essa entrada será o resultado.whendecide se uma sessão é aplicável. RetorneConditionResult(False, "<reason>")para ignorá-la; o motivo é registrado.- Uma avaliação pode ser uma função simples ou
async, etimeout_secondslimita seu tempo de execução. - As chaves de payload —
tool_name,responseecontentacima — são as que seus agentes enviam, portanto leia-as a partir de uma sessão real.
Executar o worker
Coloque uma chave com a permissãoevaluations:run, criada em Administration → Keys, na variável FAILPROOFAI_EVALUATOR_TOKEN — defina-a a partir do seu cofre de segredos em vez de digitá-la diretamente em um comando — e inicie o worker:
__main__, python -m failproofai_sdk.evaluator evaluator:app faz o mesmo.
Tipos de resultado
Um
EvalResult carrega pelo menos um score, métrica ou asserção, e no máximo 25, cada um sob uma chave única.
A sessão
Cada evento carrega
id, ts, event_type e payload.
O evaluator legado
O Evaluator SDK anterior — um serviço HTTP que o Failproof AI chamava emEVALUATOR_ENDPOINT, respondendo em /evaluate e consultado via JobPending — foi descontinuado. Construa novos evaluators usando este worker; operadores de uma instância self-hosted que ainda utilizam um serviço legado podem mantê-lo durante a transição.
