failproofai-sdk में आता है, failproofai_sdk.evaluator के तहत; tracing SDK को import करने से यह load नहीं होता।
Evaluations लिखें
@app.eval(key, version=...)एक evaluation को register करता है। key वह है जिसके तहत इसके परिणाम chart होते हैं; जब भी logic बदले तो version बदलें, और प्रत्येक result उस version को रखता है जिसने इसे produce किया। एक worker 100 तक evaluations hold कर सकता है।result_kindहै"score"जब तक आप अन्यथा न कहें। एक"metric"या"assertion"evaluation के लिए, key के बाद एकmetricsयाassertionsentry को नाम दें: वह entry इसका result है।whenतय करता है कि क्या एक session लागू होता है। एक को skip करने के लिएConditionResult(False, "<reason>")return करें, और reason record किया जाता है।- एक evaluation एक plain function या
asyncहो सकता है, औरtimeout_secondsइसे bound करता है। - Payload keys —
tool_name,response, औरcontentऊपर — जो कुछ भी आपके agents भेजते हैं, इसलिए उन्हें एक real session से पढ़ें।
Worker चलाएं
Administration → Keys के तहत बनाई गई एक key कोevaluations:run permission के साथ FAILPROOFAI_EVALUATOR_TOKEN में रखें — इसे अपने secret store से set करें न कि इसे किसी command में type करें — और worker शुरू करें:
__main__ block के बिना, python -m failproofai_sdk.evaluator evaluator:app वही करता है।
Result types
एक
EvalResult कम से कम एक score, metric, या assertion ले जाता है, और अधिकतम 25, प्रत्येक एक unique key के तहत।
Session
प्रत्येक event
id, ts, event_type, और payload ले जाता है।
Legacy evaluator
पहले का Evaluator SDK — एक HTTP service जिसे Failproof AIEVALUATOR_ENDPOINT पर called करता था, /evaluate का जवाब देता था और JobPending के through poll किया जाता था — retired है। इस worker पर नए evaluators build करें; एक self-hosted instance के operators जो एक legacy service चला रहे हैं वह transition के through इसे keep कर सकते हैं।
