Spaces:
Runtime error
Runtime error
File size: 1,981 Bytes
b93e112 |
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 |
import gradio as gr
import google.generativeai as genai
genai.configure(api_key="AIzaSyBPQF0g5EfEPzEiGRzA3iNzJZK4jDukMvE")
model = genai.GenerativeModel('gemini-pro')
def generate_summary_and_quiz(transcript, num_questions):
"""Generate a summary and quiz questions based on the video transcript."""
prompt = f"""
Based on the following video lecture transcript, please provide:
1. A concise summary of the main points (about 100 words)
2. {num_questions} multiple-choice quiz questions to test understanding of key concepts
Transcript:
{transcript}
Format your response as follows:
Summary:
[Your summary here]
Quiz Questions:
1. [Question]
a) [Option A]
b) [Option B]
c) [Option C]
d) [Option D]
Correct Answer: [Correct option letter]
2. [Next question and options...]
Ensure the questions cover different aspects of the lecture and vary in difficulty.
"""
try:
response = model.generate_content(prompt)
return response.text
except Exception as e:
return f"Error generating summary and quiz: {str(e)}"
def process_lecture(transcript, num_questions):
with gr.Row():
gr.Markdown("Generating summary and quiz...")
result = generate_summary_and_quiz(transcript, num_questions)
return result
with gr.Blocks() as demo:
gr.Markdown("# Video Lecture Summarizer and Quiz Generator")
transcript_input = gr.Textbox(label="Video Lecture Transcript", lines=10, placeholder="Paste the video transcript or a detailed description of the lecture content here...")
num_questions = gr.Slider(minimum=1, maximum=10, value=3, step=1, label="Number of Quiz Questions")
generate_btn = gr.Button("Generate Summary and Quiz")
output = gr.Textbox(label="Summary and Quiz", lines=20)
generate_btn.click(process_lecture, inputs=[transcript_input, num_questions], outputs=output)
if __name__ == "__main__":
demo.launch() |