Skip to main content
Evaluator SDK запускает оценивания на вашей собственной инфраструктуре. Ваш worker регистрирует свои оценивания в Failproof AI, получает сессии по мере их завершения, оценивает их и отправляет результаты — всё через исходящий HTTPS: ничто не подключается к нему. Используйте его для того, что размещённый Python не может сделать — LLM судьи, вызовы моделей, пакеты, секреты и сетевой доступ. Его результаты появляются рядом с размещёнными на странице оценивания с меткой customer. Он поставляется в failproofai-sdk под failproofai_sdk.evaluator; импорт SDK трассировки не загружает его.

Напишите оценивания

  • @app.eval(key, version=...) регистрирует оценивание. Ключ — это то, по чему отображаются его результаты на графике; меняйте версию всякий раз, когда меняется логика, и каждый результат сохраняет версию, которая его произвела. Один worker может содержать до 100 оцениваний.
  • result_kind по умолчанию имеет значение "score", если не указано иное. Для оценивания типа "metric" или "assertion" назовите одну запись metrics или assertions по имени ключа: эта запись — его результат.
  • when определяет, применяется ли оценивание к сессии. Верните ConditionResult(False, "<reason>") чтобы пропустить сессию, и причина будет записана.
  • Оценивание может быть обычной функцией или async, и timeout_seconds ограничивает его.
  • Ключи полезной нагрузки — tool_name, response и content выше — это то, что отправляют ваши agents, поэтому прочитайте их с реальной сессии.

Запустите worker

Поместите ключ с разрешением evaluations:run, созданный в разделе Administration → Keys, в FAILPROOFAI_EVALUATOR_TOKEN — установите его из вашего хранилища секретов вместо ввода его в команду — и запустите worker:
Без блока __main__ то же самое делает python -m failproofai_sdk.evaluator evaluator:app.
FAILPROOFAI_EVALUATOR_ALLOW_INSECURE_HTTP отправляет всё в открытом виде. Worker носит FAILPROOFAI_EVALUATOR_TOKEN в заголовке Authorization: Bearer на каждом запросе, и копии транскриптов, которые он загружает, — это сами сессии — поэтому любой на пути может прочитать оба, и прочитанный ими токен будет запускать оценивания до тех пор, пока вы его не обновите. Используйте только в изолированной сети разработки. Везде использование HTTPS обязательно; loopback не требует флага.

Типы результатов

EvalResult содержит по крайней мере один score, metric или assertion, и максимум 25, каждый с уникальным ключом.

Сессия

Каждое событие содержит id, ts, event_type и payload.

Устаревший оценивающий

Более ранний Evaluator SDK — HTTP сервис, который Failproof AI вызывал на EVALUATOR_ENDPOINT, отвечающий на /evaluate и опрашиваемый через JobPending — больше не поддерживается. Строите новые оценивающих на этом worker; операторы самостоятельно размещённого экземпляра, запускающего устаревший сервис, могут его сохранить на период переходного процесса.