跳转到主要内容
RAILSession tracks every turn of a conversation, computes aggregate statistics, and can enforce session-level policies that fire when overall quality drifts, not just on individual turns.
from rail_score_sdk import RailScoreClient, RAILSession

client = RailScoreClient(api_key="YOUR_RAIL_API_KEY")
session = RAILSession(client=client)

for response in conversation_responses:
    outcome = session.record(content=response, mode="basic")
    print(f"Turn score: {outcome.score}")
    print(f"Session avg: {session.average_score}")

print(f"Session summary: {session.summary}")

Session properties

PropertyTypeDescription
session.session_idstrUnique session identifier
session.turn_countintNumber of turns recorded
session.average_scorefloatAverage RAIL score across all turns
session.min_scorefloatLowest turn score in the session
session.summarydictPer-dimension aggregate stats