Skip to content

Commit 20110fd

Browse files
committed
dummy: changing the evaluation function to dummy to check received payload
1 parent 63b3678 commit 20110fd

2 files changed

Lines changed: 77 additions & 34 deletions

File tree

Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
# dummy file for shimmy tests
2+
3+
import sys
4+
import json
5+
from typing import Any
6+
from .evaluation import evaluation_function
7+
from lf_toolkit.evaluation import Params
8+
9+
def main():
10+
for line in sys.stdin:
11+
try:
12+
# Parse request from Shimmy
13+
req = json.loads(line)
14+
response: Any = req["input"]["response"]
15+
answer: Any = req["input"]["answer"]
16+
params_dict: dict = req["input"].get("params", {})
17+
params = Params(params_dict)
18+
19+
# Call your evaluation function
20+
result = evaluation_function(response, answer, params)
21+
22+
# Convert LFResult to JSON
23+
resp = {
24+
"output": {
25+
"is_correct": result.is_correct,
26+
"feedback_items": result.feedback_items
27+
}
28+
}
29+
print(json.dumps(resp), flush=True)
30+
31+
except Exception as e:
32+
# Always return JSON even on error
33+
resp = {"output": {"is_correct": False, "feedback_items": [("error", str(e))]}}
34+
print(json.dumps(resp), flush=True)
35+
36+
if __name__ == "__main__":
37+
main()

evaluation_function/evaluation.py

Lines changed: 40 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -5,47 +5,53 @@
55
from .schemas.result import Result
66
from .correction import analyze_fsa_correction
77

8-
9-
108
def evaluation_function(
11-
response: Any,
12-
answer: Any,
13-
params: Params,
9+
payload: Any
1410
) -> LFResult:
15-
"""
16-
Evaluate a student's FSA response against the expected answer.
11+
return LFResult(
12+
is_correct=False,
13+
feedback_items=[("error", f"{payload}")]
14+
)
15+
16+
# def evaluation_function(
17+
# response: Any,
18+
# answer: Any,
19+
# params: Params,
20+
# ) -> LFResult:
21+
# """
22+
# Evaluate a student's FSA response against the expected answer.
1723

18-
Args:
19-
response: Student's FSA (dict with states, alphabet, transitions, etc.), since frontend constriants, this is FSAFrontend
20-
answer: Expected FSA still, FSAFrontend for the same reason
21-
params: Extra parameters (e.g., require_minimal)
24+
# Args:
25+
# response: Student's FSA (dict with states, alphabet, transitions, etc.), since frontend constriants, this is FSAFrontend
26+
# answer: Expected FSA still, FSAFrontend for the same reason
27+
# params: Extra parameters (e.g., require_minimal)
2228

23-
Returns:
24-
LFResult with is_correct and feedback
25-
"""
26-
try:
27-
# Parse FSAs from input
28-
student_fsa_ = FSAFrontend.model_validate(response)
29-
expected_fsa_ = FSAFrontend.model_validate(answer)
29+
# Returns:
30+
# LFResult with is_correct and feedback
31+
# """
32+
# try:
33+
# # Parse FSAs from input
34+
# student_fsa_ = FSAFrontend.model_validate(response)
35+
# expected_fsa_ = FSAFrontend.model_validate(answer)
3036

31-
student_fsa = student_fsa_.from_flattened()
32-
expected_fsa = expected_fsa_.from_flattened()
37+
# student_fsa = student_fsa_.from_flattened()
38+
# expected_fsa = expected_fsa_.from_flattened()
3339

3440

35-
# Get require_minimal from params if present
36-
require_minimal = params.get("require_minimal", False) if hasattr(params, "get") else False
41+
# # Get require_minimal from params if present
42+
# require_minimal = params.get("require_minimal", False) if hasattr(params, "get") else False
3743

38-
# Run correction pipeline
39-
result: Result = analyze_fsa_correction(student_fsa, expected_fsa, require_minimal)
44+
# # Run correction pipeline
45+
# result: Result = analyze_fsa_correction(student_fsa, expected_fsa, require_minimal)
4046

41-
# Convert to lf_toolkit Result
42-
return LFResult(
43-
is_correct=result.is_correct,
44-
feedback_items=[("feedback", result.feedback)]
45-
)
47+
# # Convert to lf_toolkit Result
48+
# return LFResult(
49+
# is_correct=result.is_correct,
50+
# feedback_items=[("feedback", result.feedback)]
51+
# )
4652

47-
except Exception as e:
48-
return LFResult(
49-
is_correct=False,
50-
feedback_items=[("error", f"Invalid FSA format: {str(e)}, received: \n\nresponse: {response}\n\n answer: {answer}, \n\nparams: {params}")]
51-
)
53+
# except Exception as e:
54+
# return LFResult(
55+
# is_correct=False,
56+
# feedback_items=[("error", f"Invalid FSA format: {str(e)}, received: \n\nresponse: {response}\n\n answer: {answer}, \n\nparams: {params}")]
57+
# )

0 commit comments

Comments
 (0)