Finished training content backend

This commit is contained in:
Carlos Mesquita
2024-07-31 14:56:33 +01:00
parent adfc027458
commit 8e56a3228b
15 changed files with 486 additions and 0 deletions

21
app.py
View File

@@ -5,6 +5,7 @@ import firebase_admin
from firebase_admin import credentials
from flask import Flask, request
from flask_jwt_extended import JWTManager, jwt_required
from sentence_transformers import SentenceTransformer
from helper.api_messages import *
from helper.exam_variant import ExamVariant
@@ -17,6 +18,7 @@ from helper.openai_interface import *
from helper.question_templates import *
from helper.speech_to_text_helper import *
from heygen.AvatarEnum import AvatarEnum
from training_content import TrainingContentService, TrainingContentKnowledgeBase, GPT
load_dotenv()
@@ -33,6 +35,14 @@ firebase_admin.initialize_app(cred)
gpt_zero = GPTZero(os.getenv('GPT_ZERO_API_KEY'))
# Training Content Dependencies
embeddings = SentenceTransformer('all-MiniLM-L6-v2')
kb = TrainingContentKnowledgeBase(embeddings)
kb.load_indices_and_metadata()
open_ai = GPT(OpenAI())
firestore_client = firestore.client()
tc_service = TrainingContentService(kb, open_ai, firestore_client)
thread_event = threading.Event()
# Configure logging
@@ -1596,5 +1606,16 @@ def grading_summary():
return str(e)
@app.route('/training_content', methods=['POST'])
@jwt_required()
def training_content():
try:
data = request.get_json()
return tc_service.get_tips(data)
except Exception as e:
app.logger.error(str(e))
return str(e)
if __name__ == '__main__':
app.run()