Merged in feature/training-content (pull request #13)

Feature/training content

Approved-by: Tiago Ribeiro
This commit is contained in:
carlos.mesquita
2024-08-03 09:49:22 +00:00
committed by Tiago Ribeiro
15 changed files with 489 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
@@ -1633,5 +1643,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()