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." )