@@ -19,7 +19,6 @@ async def generate_suggestions(exercise: Exercise, submission: Submission, confi
19
19
is_graded : bool ) -> List [Feedback ]:
20
20
model = config .model .get_model () # type: ignore[attr-defined]
21
21
22
- # Inject student preferences into the prompt
23
22
prompt_input = {
24
23
"grading_instructions" : format_grading_instructions (exercise .grading_instructions , exercise .grading_criteria ),
25
24
"problem_statement" : exercise .problem_statement or "No problem statement." ,
@@ -53,7 +52,7 @@ async def generate_suggestions(exercise: Exercise, submission: Submission, confi
53
52
f"Input too long { num_tokens_from_prompt (chat_prompt , prompt_input )} > { config .max_input_tokens } " )
54
53
return []
55
54
56
- initial_result = await predict_and_parse (
55
+ initial_result : SubmissionCompetencyProfile = await predict_and_parse (
57
56
model = model ,
58
57
chat_prompt = chat_prompt ,
59
58
prompt_input = prompt_input ,
@@ -67,7 +66,7 @@ async def generate_suggestions(exercise: Exercise, submission: Submission, confi
67
66
68
67
second_prompt_input = {
69
68
"max_points" : exercise .max_points ,
70
- "competency_analysis" : initial_result .dict (),
69
+ "competency_analysis" : initial_result .dict () if initial_result is not None else None ,
71
70
"submission" : add_sentence_numbers (submission .text ),
72
71
"grading_instructions" : format_grading_instructions (exercise .grading_instructions , exercise .grading_criteria ),
73
72
"problem_statement" : exercise .problem_statement or "No problem statement." ,
@@ -80,7 +79,7 @@ async def generate_suggestions(exercise: Exercise, submission: Submission, confi
80
79
human_message = config .generate_suggestions_prompt .answer_message ,
81
80
pydantic_object = AssessmentModel )
82
81
83
- result = await predict_and_parse (
82
+ result : AssessmentModel = await predict_and_parse (
84
83
model = model ,
85
84
chat_prompt = second_chat_prompt ,
86
85
prompt_input = second_prompt_input ,
@@ -94,7 +93,7 @@ async def generate_suggestions(exercise: Exercise, submission: Submission, confi
94
93
95
94
if debug :
96
95
emit_meta ("generate_suggestions" , {
97
- "prompt" : chat_prompt .format (** prompt_input ),
96
+ "prompt" : second_chat_prompt .format (** second_prompt_input ),
98
97
"result" : result .dict () if result is not None else None
99
98
})
100
99
0 commit comments