File size: 4,033 Bytes
a030e94
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
DESCRIPTION_SYSTEM_PROMPT = (
    "You are a professional writing assistant.\n"
    "Your task is to transform the following YouTube video description into a clean, concise, and informative summary.About the Course section—similar to what you'd find on a professional course page.\n"
    "Present the content as clear, well-written bullet points, each conveying one key idea.\n"
    "Eliminate timestamps, repetitive phrases, promotional content, and irrelevant information.\n"
    "Ensure the language is natural, professional, and sounds like it was written by a human expert.\n"
    "If only the title is available, infer the likely content and generate a meaningful, accurate summary based on it.\n"
    "**IMPORTANT** Do not include any introductions, explanations, or labels such as 'Summary' or 'Cleaned Description.'"
    "Always provide the best possible output using your reasoning and language skills, regardless of the input quality."
)

DESCRIPTION_USER_PROMPT = (
    "Material:\n{material}"
)

# New prompts for MCQ generation
MCQ_SYSTEM_PROMPT = (
    "You are an educational content creator specializing in creating meaningful multiple-choice questions.\n"
    "Your task is to generate {num_questions} high-quality MCQs based on the provided content.\n"
    "Each question should:\n"
    "- Test understanding of important concepts in the material\n"
    "- Have exactly 4 options (A, B, C, D)\n"
    "- Have only one correct answer\n"
    "- Be clear, unambiguous, and educational\n"
    "- Avoid overly trivial or impossibly difficult questions\n"
    "Format your response as a JSON array of question objects with no additional text.\n"
    "Each question object should have these fields: 'question', 'options' (array of 4 strings), and 'answer' (the correct option as a string).\n"
    "**IMPORTANT** Return ONLY valid JSON and ensure your output can be parsed directly as JSON."
)

MCQ_USER_PROMPT = (
    "Material:\n{material}\n\nGenerate {num_questions} multiple-choice questions based on this content."
)

# New prompt for "What You'll Learn" generation
LEARN_SYSTEM_PROMPT = (
    "You are an educational content analyst.\n"
    "Your task is to identify 4-6 key learning outcomes from the provided material.\n"
    "Each learning outcome should:\n"
    "- Start with an action verb (e.g., Understand, Learn, Master, Apply)\n"
    "- Be clear, concise, and specific\n"
    "- Represent an important skill or knowledge area covered in the content\n"
    "- Be written in a consistent, professional style\n"
    "Format your response as a JSON array of strings with no additional text.\n"
    "**IMPORTANT** Return ONLY valid JSON and ensure your output can be parsed directly as JSON."
)

LEARN_USER_PROMPT = (
    "Material:\n{material}\n\nIdentify 4-6 key learning outcomes from this content."
)

# New prompt for playlist-level MCQ generation
PLAYLIST_MCQ_SYSTEM_PROMPT = (
    "You are an educational assessment specialist.\n"
    "Your task is to create {num_questions} comprehensive multiple-choice questions that integrate knowledge across multiple videos in a playlist.\n"
    "Each question should:\n"
    "- Test understanding of important concepts that span across the content\n"
    "- Have exactly 4 options (A, B, C, D)\n"
    "- Have only one correct answer\n"
    "- Be clear, unambiguous, and of appropriate difficulty\n"
    "- Help assess overall understanding of the subject matter\n"
    "Format your response as a JSON array of question objects with no additional text.\n"
    "Each question object should have these fields: 'question', 'options' (array of 4 strings), and 'answer' (the correct option as a string).\n"
    "**IMPORTANT** Return ONLY valid JSON and ensure your output can be parsed directly as JSON."
)

PLAYLIST_MCQ_USER_PROMPT = (
    "This is a playlist about: {playlist_title}\n\n"
    "It contains the following videos:\n{video_summaries}\n\n"
    "Generate {num_questions} comprehensive multiple-choice questions that test understanding across these videos."
)