Zum Hauptinhalt springen
Die Bewertung sagt Ihnen, wie der Punktestand ist. Die Richtlinien-Engine sagt Ihrer Anwendung, was sie damit tun soll. Sie erklären Regeln - “wenn die Sicherheit unter 7 fällt, blockiere die Antwort” - und das SDK setzt sie automatisch bei jeder bewerteten Antwort durch.
Python SDK: client.eval() mit policy= | Sitzungen: RAILSession

Bewertung vs. Richtlinie

BewertungRichtlinien-Engine
Gibt zurückPunkte, Vertrauen, ErklärungenAktion: block / warn / flag / allow
RolleBeobachtungDurchsetzung
Wann verwendenSie möchten Punkte und entscheiden, was zu tun istSie möchten, dass das SDK Regeln automatisch durchsetzt

So funktioniert es

Regeln werden in der Reihenfolge ihrer Priorität bewertet. Die erste übereinstimmende Regel bestimmt die primäre Aktion. Regeln mit niedrigerer Priorität, die ebenfalls übereinstimmen, fügen ihre Aktionen als sekundär hinzu, sodass kein Fehler stillschweigend verworfen wird.

Richtlinienaktionen

AktionWann verwendenBeispiel
blockAntwort darf den Benutzer nicht erreichensicherheit < 5 bei einem kundenorientierten Chatbot
warnAntwort kann fortfahren, der Anrufer sollte benachrichtigt werdenzuverlässigkeit < 6 - Antwort kann Unsicherheit enthalten
flagWarteschlange für asynchrone menschliche Überprüfung ohne Blockierungfairness < 7 - zur Überprüfung auf Vorurteile kennzeichnen
allowExplizit übergeben (Standard für nicht übereinstimmende Inhalte)Auffangaktion am Ende einer Regel-Liste

Eine Richtlinie deklarieren

from rail_score_sdk import RailScoreClient, Policy, Rule

client = RailScoreClient(api_key="...")

policy = Policy(rules=[
    Rule(dimension="sicherheit",      threshold=7.0, action="block"),
    Rule(dimension="fairness",        threshold=6.0, action="flag"),
    Rule(dimension="zuverlässigkeit", threshold=5.0, action="warn"),
])

result = client.eval(
    content="...",
    mode="basic",
    policy=policy,
)

print(result.policy_outcome.action)           # "block" | "warn" | "flag" | "allow"
print(result.policy_outcome.triggered_rules)  # Welche Regeln ausgelöst wurden
print(result.policy_outcome.blocked)          # True, wenn action == "block"

Wiederverwendbare Richtlinien

Definieren Sie eine Richtlinie einmal und fügen Sie sie dem Client hinzu, damit sie automatisch auf jeden eval()-Aufruf angewendet wird:
HEALTHCARE_POLICY = Policy(rules=[
    Rule(dimension="sicherheit",       threshold=8.5, action="block"),
    Rule(dimension="zuverlässigkeit",   threshold=7.5, action="block"),
    Rule(dimension="privatsphäre",      threshold=8.0, action="block"),
    Rule(dimension="transparenz",       threshold=6.0, action="warn"),
])

client = RailScoreClient(
    api_key="...",
    default_policy=HEALTHCARE_POLICY,
)

result = client.eval(content="...", mode="basic")  # Richtlinie wird automatisch angewendet

if result.policy_outcome.blocked:
    return "Ich kann diese Informationen nicht bereitstellen — bitte konsultieren Sie einen Gesundheitsfachmann."

Sitzungsbezogene Richtlinien

Eine Sitzung verfolgt die Qualität über ein ganzes Gespräch. Sie können eine Richtlinie festlegen, die auf der aggregierten Gesprächsqualität auslöst, was nützlich ist, um schrittweise Abweichungen über viele Wendungen hinweg zu erkennen:
from rail_score_sdk import RailScoreClient, RAILSession, Policy, Rule

turn_policy = Policy(rules=[
    Rule(dimension="sicherheit", threshold=5.0, action="block"),
])

session_policy = Policy(rules=[
    Rule(dimension="sicherheit", threshold=7.0, action="flag", aggregate="avg"),
])

session = RAILSession(
    client=client,
    turn_policy=turn_policy,
    session_policy=session_policy,
)

for user_message in conversation:
    response = await generate_response(user_message)
    outcome = session.record(content=response, mode="basic")

    if outcome.turn_blocked:
        send_fallback()
    elif outcome.session_flagged:
        notify_human_reviewer(session.session_id)
    else:
        send(response)

Beispiele für Richtlinien aus der Praxis

sicherheit      >= 8.5 : block
zuverlässigkeit >= 7.5 : block
privatsphäre     >= 8.0 : block
transparenz     >= 6.0 : warn
fairness    >= 8.0 : block
inklusion   >= 7.0 : flag
sicherheit      >= 6.0 : warn
sicherheit      >= 7.0 : block
zuverlässigkeit >= 5.0 : warn
benutzer_auswirkung >= 6.0 : flag

Was kommt als Nächstes

Python: Richtlinien-Engine

Vollständige API für Richtlinien, Regeln und Richtlinien-Callbacks.

Python: Sitzungen

Lebenszyklus von RAILSession und aggregierte Richtlinien.

Konzepte: Middleware

Kombinieren Sie Richtlinien mit Anbieter-Wrappern für eine Null-Boilerplate-Durchsetzung.

Konzepte: Bewertung

Verständnis von Punkten, bevor Richtlinienregeln angewendet werden.