Skip to content

Commit 007475a

Browse files
committed
address coderabbit comments
1 parent df8f82b commit 007475a

File tree

2 files changed

+10
-9
lines changed

2 files changed

+10
-9
lines changed

athena/modules/text/module_text_llm/module_text_llm/llm_as_profiler/generate_suggestions.py

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,6 @@ async def generate_suggestions(exercise: Exercise, submission: Submission, confi
1919
is_graded: bool) -> List[Feedback]:
2020
model = config.model.get_model() # type: ignore[attr-defined]
2121

22-
# Inject student preferences into the prompt
2322
prompt_input = {
2423
"grading_instructions": format_grading_instructions(exercise.grading_instructions, exercise.grading_criteria),
2524
"problem_statement": exercise.problem_statement or "No problem statement.",
@@ -53,7 +52,7 @@ async def generate_suggestions(exercise: Exercise, submission: Submission, confi
5352
f"Input too long {num_tokens_from_prompt(chat_prompt, prompt_input)} > {config.max_input_tokens}")
5453
return []
5554

56-
initial_result = await predict_and_parse(
55+
initial_result: SubmissionCompetencyProfile = await predict_and_parse(
5756
model=model,
5857
chat_prompt=chat_prompt,
5958
prompt_input=prompt_input,
@@ -67,7 +66,7 @@ async def generate_suggestions(exercise: Exercise, submission: Submission, confi
6766

6867
second_prompt_input = {
6968
"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,
7170
"submission": add_sentence_numbers(submission.text),
7271
"grading_instructions": format_grading_instructions(exercise.grading_instructions, exercise.grading_criteria),
7372
"problem_statement": exercise.problem_statement or "No problem statement.",
@@ -80,7 +79,7 @@ async def generate_suggestions(exercise: Exercise, submission: Submission, confi
8079
human_message=config.generate_suggestions_prompt.answer_message,
8180
pydantic_object=AssessmentModel)
8281

83-
result = await predict_and_parse(
82+
result: AssessmentModel = await predict_and_parse(
8483
model=model,
8584
chat_prompt=second_chat_prompt,
8685
prompt_input=second_prompt_input,
@@ -94,7 +93,7 @@ async def generate_suggestions(exercise: Exercise, submission: Submission, confi
9493

9594
if debug:
9695
emit_meta("generate_suggestions", {
97-
"prompt": chat_prompt.format(**prompt_input),
96+
"prompt": second_chat_prompt.format(**second_prompt_input),
9897
"result": result.dict() if result is not None else None
9998
})
10099

athena/modules/text/module_text_llm/module_text_llm/llm_as_profiler/prompt_generate_feedback.py

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -76,10 +76,12 @@
7676
# Input Prompt
7777

7878
class GenerateSuggestionsPrompt(BaseModel):
79-
"""\
80-
Features cit available: **{initial_feedback}**, **{max_points}**, **{student_grade}**, **{learner_profile}**
81-
82-
"""
79+
"""A prompt model for generating structured feedback on student submissions.
80+
81+
This class provides the system and human messages used to instruct an LLM to analyze
82+
student submissions and generate constructive feedback based on competency analysis,
83+
grading instructions, and problem requirements.
84+
"""
8385
second_system_message: str = Field(default=system_message,
8486
description="Message for priming AI behavior and instructing it what to do.")
8587
answer_message: str = Field(default=human_message,

0 commit comments

Comments
 (0)