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.
Типы результатов
EvalResult содержит по крайней мере один score, metric или assertion, и максимум 25, каждый с уникальным ключом.
Сессия
Каждое событие содержит
id, ts, event_type и payload.
Устаревший оценивающий
Более ранний Evaluator SDK — HTTP сервис, который Failproof AI вызывал наEVALUATOR_ENDPOINT, отвечающий на /evaluate и опрашиваемый через JobPending — больше не поддерживается. Строите новые оценивающих на этом worker; операторы самостоятельно размещённого экземпляра, запускающего устаревший сервис, могут его сохранить на период переходного процесса.
