Spaces:
No application file
No application file
| VALID_URGENCY = {"low", "medium", "high"} | |
| VALID_DEPT = {"general", "dermatology", "cardiology", "emergency"} | |
| VALID_ACTIONS = {"classify", "route", "request_info", "escalate", "finalize"} | |
| def normalize(value, valid): | |
| if value is None: | |
| return None | |
| v = str(value).strip().lower() | |
| return v if v in valid else None | |
| def grade_urgency(pred, gold): | |
| pred = normalize(pred, VALID_URGENCY) | |
| gold = normalize(gold, VALID_URGENCY) | |
| return 1.0 if pred == gold else 0.0 | |
| def grade_department(pred, gold): | |
| pred = normalize(pred, VALID_DEPT) | |
| gold = normalize(gold, VALID_DEPT) | |
| return 1.0 if pred == gold else 0.0 | |
| def grade_escalation(pred, gold): | |
| if pred is None: | |
| return 0.0 | |
| return 1.0 if bool(pred) == bool(gold) else 0.0 | |
| def grade_request_info(action_type, expected): | |
| if expected and action_type == "request_info": | |
| return 1.0 | |
| if not expected and action_type == "request_info": | |
| return 0.2 | |
| return 0.0 | |
| def action_valid(action_type): | |
| return action_type in VALID_ACTIONS | |