Skip to content

Commit f8bfda9

Browse files
committed
fix: ednge case optional response areas
1 parent c890fe4 commit f8bfda9

File tree

2 files changed

+15
-10
lines changed

2 files changed

+15
-10
lines changed

src/agents/utils/parse_json_to_prompt.py

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -137,13 +137,13 @@ def parse_json_to_prompt( questionSubmissionSummary: Optional[List[StudentWorkRe
137137
questionInformation: Optional[QuestionDetails],
138138
questionAccessInformation: Optional[QuestionAccessInformation]
139139
) -> Optional[str]:
140+
141+
if not questionInformation or not questionAccessInformation:
142+
return "There must have been an error in fetching the question details. So ask me about the question I am working on such that you can still help me."
140143

141144
questionSubmissionSummary = [StudentWorkResponseArea(**submissionsSummary) for submissionsSummary in questionSubmissionSummary]
142145
questionInformation = QuestionDetails(**questionInformation)
143146
questionAccessInformation = QuestionAccessInformation(**questionAccessInformation)
144-
145-
if not questionSubmissionSummary or not questionInformation or not questionAccessInformation:
146-
return None
147147

148148
def format_response_area_details(responseArea: ResponseAreaDetails, studentSummary: List[StudentWorkResponseArea]) -> str:
149149
submissionDetails = "\n".join(
@@ -163,7 +163,7 @@ def format_response_area_details(responseArea: ResponseAreaDetails, studentSumma
163163
return f"""
164164
## Response Area: {responseArea.position + 1}
165165
{f'Area task: What is {responseArea.preResponseText} ?' if responseArea.preResponseText else ''}
166-
(Secret) Expected Answer: {responseArea.answer};
166+
(Secret - not to be shared) Expected Answer: {responseArea.answer};
167167
{submissionDetails}"""
168168

169169
def format_part_details(part: PartDetails, currentPart: CurrentPart, summary: List[StudentWorkResponseArea]) -> str:
@@ -188,7 +188,7 @@ def format_part_details(part: PartDetails, currentPart: CurrentPart, summary: Li
188188
{f"Time spent on this part: {currentPart.timeTakenPart if currentPart.timeTakenPart is not None else 'No recorded duration'}" if currentPart.id == part.publishedPartId else ''}
189189
Part Content: {part.publishedPartContent.strip() if part.publishedPartContent else 'No content'};
190190
{responseAreas}
191-
{f'Final Part Answer: {part.publishedPartAnswerContent}' if part.publishedPartAnswerContent else 'No direct answer'}
191+
{f'Final Part Answer: {part.publishedPartAnswerContent}' if part.publishedPartAnswerContent else 'No direct answer for this part.'}
192192
{workedSolutions}
193193
"""
194194

src/module.py

Lines changed: 10 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -52,11 +52,16 @@ def chat_module(message: Any, params: Params) -> Result:
5252
question_submission_summary = question_response_details["questionSubmissionSummary"] if "questionSubmissionSummary" in question_response_details else []
5353
question_information = question_response_details["questionInformation"] if "questionInformation" in question_response_details else {}
5454
question_access_information = question_response_details["questionAccessInformation"] if "questionAccessInformation" in question_response_details else {}
55-
question_response_details_prompt = parse_json_to_prompt(
56-
question_submission_summary,
57-
question_information,
58-
question_access_information
59-
)
55+
try:
56+
question_response_details_prompt = parse_json_to_prompt(
57+
question_submission_summary,
58+
question_information,
59+
question_access_information
60+
)
61+
print("INFO:: ", question_response_details_prompt)
62+
except Exception as e:
63+
print("ERROR:: ", e)
64+
raise Exception("Internal Error: The question response details could not be parsed.")
6065
if "conversation_id" in params:
6166
conversation_id = params["conversation_id"]
6267
else:

0 commit comments

Comments
 (0)