Skip to main content
O Evaluator SDK executa avaliações na sua própria infraestrutura. Seu worker registra suas avaliações no Failproof AI, reivindica sessões conforme elas são concluídas, as pontua e envia os resultados — tudo via HTTPS de saída: nada se conecta a ele de fora. Use-o para o que o Python hospedado não consegue fazer — juízes LLM, chamadas de modelo, pacotes, segredos e acesso à rede. Os resultados aparecem ao lado dos hospedados na página de avaliações, marcados como customer. Ele está incluído no 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 de metrics ou assertions com a mesma chave: essa entrada será o resultado.
  • when decide se uma sessão é aplicável. Retorne ConditionResult(False, "<reason>") para ignorá-la; o motivo é registrado.
  • Uma avaliação pode ser uma função simples ou async, e timeout_seconds limita seu tempo de execução.
  • As chaves de payload — tool_name, response e content acima — 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ão evaluations: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:
Sem o bloco __main__, python -m failproofai_sdk.evaluator evaluator:app faz o mesmo.
FAILPROOFAI_EVALUATOR_ALLOW_INSECURE_HTTP envia tudo em texto simples. O worker carrega FAILPROOFAI_EVALUATOR_TOKEN como um cabeçalho Authorization: Bearer em cada requisição, e as transcrições que ele busca são as próprias sessões — portanto, qualquer pessoa no caminho lê ambos, e o token que obtiverem pode executar avaliações até que você o revogue. Use apenas em uma rede de desenvolvimento isolada. Em todos os outros ambientes, a URL deve ser HTTPS; loopback não exige nenhuma flag.

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 em EVALUATOR_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.