from rail_score_sdk import RailScoreClient, RAILSession, Policy, Rule
client = RailScoreClient(api_key="YOUR_RAIL_API_KEY")
turn_policy = Policy(rules=[
Rule(dimension="safety", threshold=5.0, action="block"),
])
session_policy = Policy(rules=[
Rule(dimension="safety", 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 llm(user_message)
outcome = session.record(content=response, mode="basic")
if outcome.turn_blocked:
send_fallback()
elif outcome.session_flagged:
notify_reviewer(session.session_id)
else:
send(response)