csa01 / app /graders.py
prashantmatlani's picture
fresh clean commit
d6a76d5
raw
history blame contribute delete
969 Bytes
# app/graders.py
def grade_task1(state):
score = 0.0
gt = state["ground_truth"]
if state["category"] == gt["category"]:
score += 0.5
if state["priority"] == gt["priority"]:
score += 0.5
return score
def grade_task2(state):
required = set(state["ground_truth"]["required_info"])
collected = set(state["collected_info"].keys())
if not required:
return 1.0
return len(collected & required) / len(required)
def grade_task3(state):
score = 0.0
gt = state["ground_truth"]
# classification
if state["category"] == gt["category"]:
score += 0.3
# info collection
required = set(gt["required_info"])
collected = set(state["collected_info"].keys())
if required:
score += 0.3 * (len(collected & required) / len(required))
# resolution
if state["status"] == "resolved":
score += 0.4
return score