Skip to main content
L’Evaluator SDK exécute des évaluations sur votre propre infrastructure. Votre worker enregistre ses évaluations auprès de Failproof AI, récupère les sessions à leur clôture, les note et soumet les résultats — le tout via HTTPS sortant : aucune connexion entrante n’est nécessaire. Utilisez-le pour ce que Python hébergé ne peut pas faire : juges LLM, appels de modèles, packages, secrets et accès réseau. Ses résultats apparaissent aux côtés des résultats hébergés sur la page des évaluations, avec le tag customer. Il est inclus dans failproofai-sdk, sous failproofai_sdk.evaluator ; l’importation du SDK de traçage ne le charge pas.

Écrire des évaluations

  • @app.eval(key, version=...) enregistre une évaluation. La clé détermine sous quel nom ses résultats sont regroupés ; changez la version à chaque modification de la logique, et chaque résultat conserve la version qui l’a produit. Un seul worker peut contenir jusqu’à 100 évaluations.
  • result_kind vaut "score" par défaut. Pour une évaluation de type "metric" ou "assertion", nommez une entrée metrics ou assertions d’après la clé : c’est cette entrée qui constitue son résultat.
  • when détermine si une session est applicable. Retournez ConditionResult(False, "<reason>") pour ignorer une session ; la raison est enregistrée.
  • Une évaluation peut être une fonction ordinaire ou async, et timeout_seconds en limite la durée.
  • Les clés de payload — tool_name, response et content ci-dessus — correspondent à ce que vos agents envoient ; lisez-les depuis une vraie session.

Démarrer le worker

Placez une clé avec la permission evaluations:run, créée sous Administration → Keys, dans FAILPROOFAI_EVALUATOR_TOKEN — configurez-la depuis votre gestionnaire de secrets plutôt qu’en la saisissant directement dans une commande — puis démarrez le worker :
Sans le bloc __main__, python -m failproofai_sdk.evaluator evaluator:app produit le même résultat.
FAILPROOFAI_EVALUATOR_ALLOW_INSECURE_HTTP envoie tout en clair. Le worker transmet FAILPROOFAI_EVALUATOR_TOKEN en tant qu’en-tête Authorization: Bearer à chaque requête, et les transcripts qu’il récupère sont les sessions elles-mêmes — toute personne sur le chemin réseau peut donc lire les deux, et le token ainsi obtenu permet d’exécuter des évaluations jusqu’à sa rotation. À n’utiliser que sur un réseau de développement isolé. Partout ailleurs, l’URL doit être en HTTPS ; le loopback ne nécessite aucun flag.

Types de résultats

Un EvalResult contient au moins un score, une métrique ou une assertion, et au plus 25, chacun sous une clé unique.

La session

Chaque événement contient id, ts, event_type et payload.

L’evaluator historique

L’Evaluator SDK précédent — un service HTTP que Failproof AI appelait à EVALUATOR_ENDPOINT, répondant sur /evaluate et interrogé via JobPending — est désormais retiré. Construisez vos nouveaux evaluators sur ce worker ; les opérateurs d’une instance auto-hébergée utilisant encore un service historique peuvent le maintenir le temps de la transition.