File size: 1,808 Bytes
65b5532 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 | """SafeSpace Content Moderation environment server components."""
from __future__ import annotations
from typing import Any
__all__ = [
"SafeSpaceEnvironment",
"ContentModerationEnvironment",
"FACTOR_LIST",
"PLATFORM_POLICY",
"POLICY_SECTIONS",
"grade_decision",
"grade_factors",
"compute_reward",
"load_scenario",
"get_all_scenarios",
]
def __getattr__(name: str) -> Any:
"""Lazily expose server helpers without importing the full runtime eagerly."""
if name in {"SafeSpaceEnvironment", "ContentModerationEnvironment"}:
from .environment import ContentModerationEnvironment, SafeSpaceEnvironment
return {
"SafeSpaceEnvironment": SafeSpaceEnvironment,
"ContentModerationEnvironment": ContentModerationEnvironment,
}[name]
if name in {"FACTOR_LIST", "PLATFORM_POLICY", "POLICY_SECTIONS"}:
from .policy import FACTOR_LIST, PLATFORM_POLICY, POLICY_SECTIONS
return {
"FACTOR_LIST": FACTOR_LIST,
"PLATFORM_POLICY": PLATFORM_POLICY,
"POLICY_SECTIONS": POLICY_SECTIONS,
}[name]
if name in {"grade_decision", "grade_factors"}:
from .grader import grade_decision, grade_factors
return {
"grade_decision": grade_decision,
"grade_factors": grade_factors,
}[name]
if name == "compute_reward":
from .reward import compute_reward
return compute_reward
if name in {"load_scenario", "get_all_scenarios"}:
from .scenarios import get_all_scenarios, load_scenario
return {
"load_scenario": load_scenario,
"get_all_scenarios": get_all_scenarios,
}[name]
raise AttributeError(f"module {__name__!r} has no attribute {name!r}")
|