failproofai-sdk unter failproofai_sdk.evaluator ausgeliefert; der Import des Tracing-SDKs lädt es nicht.
Evaluierungen schreiben
@app.eval(key, version=...)registriert eine Evaluierung. Der Schlüssel bestimmt, unter welchem Namen die Ergebnisse aufgeführt werden. Ändern Sie die Version bei jeder Änderung der Logik – jedes Ergebnis behält die Version, mit der es erzeugt wurde. Ein Worker kann bis zu 100 Evaluierungen halten.result_kindist"score", sofern nichts anderes angegeben wird. Für eine"metric"- oder"assertion"-Evaluierung benennen Sie einenmetrics- oderassertions-Eintrag nach dem Schlüssel: Dieser Eintrag ist ihr Ergebnis.whenentscheidet, ob eine Session anwendbar ist. Geben SieConditionResult(False, "<reason>")zurück, um eine Session zu überspringen – der Grund wird dabei gespeichert.- Eine Evaluierung kann eine normale Funktion oder
asyncsein, undtimeout_secondsbegrenzt ihre Laufzeit. - Payload-Schlüssel –
tool_name,responseundcontentoben – sind das, was Ihre Agents senden; lesen Sie sie daher aus einer echten Session ab.
Den Worker starten
Legen Sie einen Schlüssel mit der Berechtigungevaluations:run, der unter Administration → Keys erstellt wurde, in FAILPROOFAI_EVALUATOR_TOKEN ab – setzen Sie ihn aus Ihrem Secret-Store, anstatt ihn direkt in einen Befehl einzutippen – und starten Sie den Worker:
__main__-Block bewirkt python -m failproofai_sdk.evaluator evaluator:app dasselbe.
Ergebnistypen
Ein
EvalResult enthält mindestens einen Score, eine Metrik oder eine Assertion und höchstens 25, jeweils unter einem eindeutigen Schlüssel.
Die Session
Jedes Event enthält
id, ts, event_type und payload.
Der Legacy-Evaluator
Das frühere Evaluator SDK – ein HTTP-Dienst, den Failproof AI unterEVALUATOR_ENDPOINT aufrief, der /evaluate beantwortete und über JobPending abgefragt wurde – wurde eingestellt. Erstellen Sie neue Evaluatoren mit diesem Worker; Betreiber einer selbst gehosteten Instanz, die einen Legacy-Dienst betreiben, können ihn während der Übergangszeit weiter verwenden.
