Add corrections for speaking.

This commit is contained in:
Cristiano Ferreira
2024-01-12 19:45:58 +00:00
parent 5aedd1864d
commit de4042efac
2 changed files with 21 additions and 0 deletions

10
app.py
View File

@@ -345,6 +345,8 @@ def grade_speaking_task_1():
token_count,
None,
GEN_QUESTION_TEMPERATURE)
response['transcript'] = answer
response['corrections'] = get_speaking_corrections(answer)
return response
else:
return {
@@ -411,6 +413,8 @@ def grade_speaking_task_2():
token_count,
None,
GEN_QUESTION_TEMPERATURE)
response['transcript'] = answer
response['corrections'] = get_speaking_corrections(answer)
return response
else:
return {
@@ -473,11 +477,13 @@ def grade_speaking_task_3():
try:
data = request.get_json()
answers = data.get('answers')
text_answers = []
perfect_answers = []
for item in answers:
sound_file_name = AUDIO_FILES_PATH + str(uuid.uuid4())
download_firebase_file(FIREBASE_BUCKET, item["answer"], sound_file_name)
answer_text = speech_to_text(sound_file_name)
text_answers.append(answer_text)
item["answer"] = answer_text
os.remove(sound_file_name)
if not has_10_words(answer_text):
@@ -522,6 +528,10 @@ def grade_speaking_task_3():
GEN_QUESTION_TEMPERATURE)
for i, answer in enumerate(perfect_answers, start=1):
response['perfect_answer_' + str(i)] = answer
for i, answer in enumerate(text_answers, start=1):
response['transcript_' + str(i)] = answer
response['corrections_' + str(i)] = get_speaking_corrections(answer)
return response
except Exception as e:
return str(e), 400