Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
37 changes: 0 additions & 37 deletions evaluation_function/compareFSA_service.py

This file was deleted.

23 changes: 17 additions & 6 deletions evaluation_function/evaluation.py
Original file line number Diff line number Diff line change
@@ -1,7 +1,9 @@
from typing import Any
from lf_toolkit.evaluation import Result as LFResult, Params

from .schemas import FSA, FSAFrontend
# note: this file is a temperary workaround, if the frontend -> backend communication succeed, fix this file

from .schemas import FSA#, FSAFrontend
from .schemas.result import Result
from .correction import analyze_fsa_correction

Expand All @@ -13,6 +15,11 @@
# feedback_items=[("error", f"{payload}")]
# )

def validate_fsa(value: str | dict) -> FSA:
if isinstance(value, str):
return FSA.model_validate_json(value)
return FSA.model_validate(value)

def evaluation_function(
response: Any,
answer: Any,
Expand All @@ -31,12 +38,16 @@ def evaluation_function(
"""
try:
# Parse FSAs from input
student_fsa_ = FSAFrontend.model_validate(response)
expected_fsa_ = FSAFrontend.model_validate(answer)
# student_fsa_ = FSAFrontend.model_validate(response)
# expected_fsa_ = FSAFrontend.model_validate(answer)

# student_fsa = student_fsa_.from_flattened()
# expected_fsa = expected_fsa_.from_flattened()

# as a temporary workaround we assume the response and answer are all valid json strings
student_fsa = validate_fsa(response)
expected_fsa = validate_fsa(answer)

# Convert from flattened format to FSA
student_fsa = FSAFrontend.from_flattened(student_fsa_.model_dump())
expected_fsa = FSAFrontend.from_flattened(expected_fsa_.model_dump())


# Get require_minimal from params if present
Expand Down