Spaces:
Runtime error
Runtime error
| import logging | |
| import gradio as gr | |
| from utils import pdf_to_text, generate_lesson_from_transcript, refine_with_fine_tuned_model, extract_text_from_pdf | |
| from fine_tuning import fine_tune_model | |
| logging.basicConfig(level=logging.INFO, format="%(asctime)s - %(levelname)s - %(message)s") | |
| logger = logging.getLogger(__name__) | |
| def generate_lesson(doc_text=None, pdf_file=None): | |
| try: | |
| if pdf_file and doc_text: | |
| logger.warning("Both text and PDF file provided. Ignoring text input.") | |
| return "Please provide either a text input or a PDF file, not both.", None | |
| if pdf_file: | |
| logger.info(f"Processing uploaded PDF file: {pdf_file.name}") | |
| doc_text = pdf_to_text(pdf_file.name) | |
| logger.info("Processing the document text.") | |
| processed_text = process_large_text(doc_text) | |
| logger.info("Generating lesson from transcript.") | |
| generated_text, output_path = generate_lesson_from_transcript_logic(processed_text) | |
| if output_path: | |
| logger.info(f"Lesson generated successfully. Output saved to: {output_path}") | |
| return generated_text, gr.File(output_path) | |
| else: | |
| logger.info("Lesson generated successfully, but no output file created.") | |
| return generated_text, None | |
| except Exception as e: | |
| logger.error(f"Error occurred while generating lesson: {str(e)}") | |
| return f"Error occurred: {str(e)}", None | |
| gr.Interface( | |
| fn=generate_lesson, | |
| inputs=[gr.Textbox(label="Input Text"), gr.File(label="Upload PDF")], | |
| outputs=["text", "file"], | |
| ).launch() |