Spaces:
Runtime error
Runtime error
| license: mit | |
| title: AI_tutor | |
| sdk: gradio | |
| emoji: π | |
| colorFrom: red | |
| colorTo: yellow | |
| pinned: true | |
| app_file: main.py | |
| short_description: AI Tutor tool transforms documents or queries into lectures | |
| sdk_version: 5.33.1 | |
| tag: "agent-demo-track" | |
| title: AI tutor | |
| sdk: gradio | |
| app_file: main.py | |
| pinned: false | |
| # AI Tutor Application | |
| ## Overview | |
| The AI Tutor Application is an advanced tool designed to transform documents (e.g., PDFs) or user queries into interactive and structured lectures. Equipped with cutting-edge AI capabilities, this application provides voice narration, retrieval-augmented generation (RAG) chatbot functionality, and PDF generation for educational purposes. | |
| ## Features | |
| ### 1. **Lecture Generation** | |
| - Converts PDF content or user-provided queries into structured lectures. | |
| - Generates detailed outlines, sections, and content tailored to the user's learning objectives. | |
| - Supports multiple styles (e.g., academic, casual) and includes examples if requested. | |
| ### 2. **Voice Narration** | |
| - Synthesizes lecture content into audio using text-to-speech (TTS) technology. | |
| - Offers multiple voice options to suit user preferences. | |
| ### 3. **RAG Chatbot** | |
| - Provides a chatbot powered by Retrieval-Augmented Generation (RAG) to answer questions based on lecture or PDF content. | |
| - Maintains session memory for personalized interactions. | |
| ### 4. **PDF Processing** | |
| - Extracts and processes text from PDF files. | |
| - Supports metadata extraction and text cleaning for better analysis. | |
| ### 5. **Interactive Gradio Interface** | |
| - User-friendly interface for uploading documents, generating lectures, and interacting with the chatbot. | |
| - Allows users to download generated lectures as PDFs or audio files. | |
| ### 6. **Customizable Learning Objectives** | |
| - Users can specify learning objectives to tailor the lecture content. | |
| - AI analyzes objectives to create relevant and engaging content. | |
| ## How It Works | |
| 1. **Input**: Upload a PDF document or provide a query/learning objective. | |
| 2. **Processing**: The application analyzes the input, generates a structured lecture, and optionally synthesizes audio. | |
| 3. **Output**: Download the lecture as a PDF or listen to the audio narration. | |
| ## Installation | |
| 1. Clone the repository: | |
| ```bash | |
| git clone <repository-url> | |
| ``` | |
| 2. Navigate to the project directory: | |
| ```bash | |
| cd PDFLectureMaster | |
| ``` | |
| 3. Install dependencies: | |
| ```bash | |
| pip install -r requirements.txt | |
| ``` | |
| ## Usage | |
| 1. Start the Gradio interface: | |
| ```bash | |
| python main.py | |
| ``` | |
| 2. Open the provided URL in your browser. | |
| 3. Upload a PDF or enter a query to generate a lecture. | |
| ## Project Structure | |
| - `main.py`: Entry point for the Gradio application. | |
| - `app/`: Contains the core modules for lecture generation, chatbot, PDF processing, and more. | |
| - `lecture_generator.py`: Handles lecture creation. | |
| - `voice_synthesizer.py`: Converts text to speech. | |
| - `rag_system.py`: Implements the RAG chatbot. | |
| - `pdf_processor.py`: Extracts and processes PDF content. | |
| - `gradio_interface.py`: Defines the Gradio interface. | |
| ## Requirements | |
| - Python 3.11 or higher | |
| - OpenAI API key (set in `.env` file) | |
| ## Environment Variables | |
| Create a `.env` file in the project root and add the following: | |
| ```env | |
| OPENAI_API_KEY=<your_openai_api_key> | |
| ``` | |
| ## License | |
| This project is licensed under the MIT License. See the LICENSE file for details. | |
| ## Acknowledgments | |
| - [OpenAI](https://openai.com/) for GPT-based models. | |
| - [Gradio](https://gradio.app/) for the interactive interface. | |
| - [ReportLab](https://www.reportlab.com/) for PDF generation. | |
| --- | |
| *This project was developed to make learning more interactive and accessible by leveraging AI technologies.* | |