File size: 993 Bytes
bbdcfde
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
from models import Model
from prompt import Prompt

def generate_notes(transcript):
    return Model.openai_chatgpt(transcript=transcript, prompt=Prompt.prompt1())

def generate_quiz(transcript):
    raw_quiz = Model.openai_chatgpt(transcript, Prompt.prompt1(ID='quiz'))
    return parse_quiz_content(raw_quiz)

def parse_quiz_content(raw_quiz):
    quiz_content = []
    questions = raw_quiz.strip().split("\n\n")

    for question in questions:
        lines = question.split("\n")
        if len(lines) < 6:  # Question + 4 options + correct answer
            continue

        question_text = lines[0].split(".", 1)[-1].strip()
        options = [line.split(")", 1)[-1].strip() for line in lines[1:5]]
        correct_answer = lines[-1].split(":")[-1].strip()

        quiz_content.append({
            "question": question_text,
            "options": options,
            "correct_answer": correct_answer
        })

    return quiz_content[:10]  # Ensure we return at most 10 questions