Job-Interview / questionsgr.py
ruslanmv's picture
First commit
5798cfc
import gradio as gr
from questions import generate_and_save_questions_from_pdf
def generate_questions(pdf_file, num_questions):
"""
Generates questions from a PDF file using the questions.py script.
Args:
pdf_file: The PDF file to generate questions from.
num_questions: The number of questions to generate.
Returns:
A string indicating success or failure, and a list of generated questions.
"""
try:
questions = generate_and_save_questions_from_pdf(pdf_file.name, total_questions=int(num_questions))
return f"βœ… {len(questions)} questions generated and saved.", questions
except Exception as e:
return f"❌ Error: {e}", None
with gr.Blocks() as demo:
gr.Markdown("## πŸ“„ PDF Question Generator")
with gr.Row():
pdf_input = gr.File(label="Upload PDF File", type="filepath") # Changed type to "filepath"
num_questions_input = gr.Number(label="Number of Questions", value=5)
generate_button = gr.Button("Generate Questions")
output_text = gr.Textbox(label="Output")
question_output = gr.JSON(label="Generated Questions")
generate_button.click(
generate_questions,
inputs=[pdf_input, num_questions_input],
outputs=[output_text, question_output]
)
if __name__ == "__main__":
demo.launch()