Added endpoint for /fetch_tips

This commit is contained in:
Pedro Fonseca
2023-09-03 11:38:12 +01:00
parent a31489d850
commit fcd7483fd9
3 changed files with 106 additions and 3 deletions

24
app.py
View File

@@ -3,7 +3,7 @@ from flask_jwt_extended import JWTManager, jwt_required
from functools import reduce
import firebase_admin
from firebase_admin import credentials
from helper.api_messages import QuestionType, get_grading_messages, get_question_gen_messages
from helper.api_messages import QuestionType, get_grading_messages, get_question_gen_messages, get_question_tips
from helper.file_helper import delete_files_older_than_one_day
from helper.firebase_helper import download_firebase_file, upload_file_firebase
from helper.speech_to_text_helper import speech_to_text, text_to_speech
@@ -11,6 +11,7 @@ from helper.token_counter import count_tokens
from helper.openai_interface import make_openai_call
import os
import uuid
import re
from dotenv import load_dotenv
@@ -140,6 +141,27 @@ def grade_writing_task_2():
except Exception as e:
return str(e)
@app.route('/fetch_tips', methods=['POST'])
@jwt_required()
def fetch_answer_tips():
try:
data = request.get_json()
context = data.get('context')
question = data.get('question')
answer = data.get('answer')
correct_answer = data.get('correct_answer')
messages = get_question_tips(question, answer, correct_answer, context)
token_count = reduce(lambda count, item: count + count_tokens(item)['n_tokens'],
map(lambda x: x["content"], filter(lambda x: "content" in x, messages)), 0)
response = make_openai_call(GPT_3_5_TURBO, messages, token_count, GRADING_FIELDS, GRADING_TEMPERATURE)
if isinstance(response, str):
response = re.sub(r"^[a-zA-Z0-9_]+\:\s*", "", response)
return response
except Exception as e:
return str(e)
@app.route('/writing_task2', methods=['GET'])
@jwt_required()