AM_Document_analysis / helpers /response_helpers.py
MikaJLeh
Pushed all files to Hugging Face, replacing old content
f2ec360
'''def qStr2Dict(question: str) -> dict:
print('qStr2Dict :', question)
split = question.strip(" '\"").split(".", 1)
question_dict = {'id': int(split[0]), 'question': split[-1].strip()}
return question_dict
def result2QuestionsList(question_response: str, type: str, status: str) -> list:
response_splits = question_response.split("\n")
qlist = []
for q in response_splits:
question = {**qStr2Dict(q), 'type': type, 'status': status, 'answer': None}
qlist = qlist + [question]
return qlist
'''
def qStr2Dict(question: str) -> dict:
try:
print('qStr2Dict:', question)
split = question.strip(" '\"").split(".", 1)
# Check if id_part is 'Here are the sub-questions:', set it to integer 1
id_part = split[0].replace("#", "").strip()
if isinstance(id_part, str):
id_part = 1 # Convert any string to integer 1
# Convert id_part to integer, if not empty
id_part = int(id_part) if id_part else None
question_dict = {'id': id_part, 'question': split[-1].strip()}
return question_dict
except ValueError as e:
print("Error:", e)
return {'id': None, 'question': question.strip()}
def result2QuestionsList(question_response: str, type: str, status: str) -> list:
response_splits = question_response.split("\n")
qlist = []
for q in response_splits:
# Skip empty lines
if q.strip() == '':
continue
question = qStr2Dict(q)
question.update({'type': type, 'status': status, 'answer': None})
qlist.append(question)
return qlist