Spaces:
Runtime error
Runtime error
Update README.md
Browse files
README.md
CHANGED
@@ -13,4 +13,96 @@ sdk_version: 5.33.1
|
|
13 |
title: AI tutor
|
14 |
sdk: gradio
|
15 |
app_file: main.py
|
16 |
-
pinned: false
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
13 |
title: AI tutor
|
14 |
sdk: gradio
|
15 |
app_file: main.py
|
16 |
+
pinned: false
|
17 |
+
|
18 |
+
|
19 |
+
|
20 |
+
# AI Tutor Application
|
21 |
+
|
22 |
+
## Overview
|
23 |
+
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.
|
24 |
+
|
25 |
+
## Features
|
26 |
+
|
27 |
+
### 1. **Lecture Generation**
|
28 |
+
- Converts PDF content or user-provided queries into structured lectures.
|
29 |
+
- Generates detailed outlines, sections, and content tailored to the user's learning objectives.
|
30 |
+
- Supports multiple styles (e.g., academic, casual) and includes examples if requested.
|
31 |
+
|
32 |
+
### 2. **Voice Narration**
|
33 |
+
- Synthesizes lecture content into audio using text-to-speech (TTS) technology.
|
34 |
+
- Offers multiple voice options to suit user preferences.
|
35 |
+
|
36 |
+
### 3. **RAG Chatbot**
|
37 |
+
- Provides a chatbot powered by Retrieval-Augmented Generation (RAG) to answer questions based on lecture or PDF content.
|
38 |
+
- Maintains session memory for personalized interactions.
|
39 |
+
|
40 |
+
### 4. **PDF Processing**
|
41 |
+
- Extracts and processes text from PDF files.
|
42 |
+
- Supports metadata extraction and text cleaning for better analysis.
|
43 |
+
|
44 |
+
### 5. **Interactive Gradio Interface**
|
45 |
+
- User-friendly interface for uploading documents, generating lectures, and interacting with the chatbot.
|
46 |
+
- Allows users to download generated lectures as PDFs or audio files.
|
47 |
+
|
48 |
+
### 6. **Customizable Learning Objectives**
|
49 |
+
- Users can specify learning objectives to tailor the lecture content.
|
50 |
+
- AI analyzes objectives to create relevant and engaging content.
|
51 |
+
|
52 |
+
## How It Works
|
53 |
+
1. **Input**: Upload a PDF document or provide a query/learning objective.
|
54 |
+
2. **Processing**: The application analyzes the input, generates a structured lecture, and optionally synthesizes audio.
|
55 |
+
3. **Output**: Download the lecture as a PDF or listen to the audio narration.
|
56 |
+
|
57 |
+
## Installation
|
58 |
+
1. Clone the repository:
|
59 |
+
```bash
|
60 |
+
git clone <repository-url>
|
61 |
+
```
|
62 |
+
2. Navigate to the project directory:
|
63 |
+
```bash
|
64 |
+
cd PDFLectureMaster
|
65 |
+
```
|
66 |
+
3. Install dependencies:
|
67 |
+
```bash
|
68 |
+
pip install -r requirements.txt
|
69 |
+
```
|
70 |
+
|
71 |
+
## Usage
|
72 |
+
1. Start the Gradio interface:
|
73 |
+
```bash
|
74 |
+
python main.py
|
75 |
+
```
|
76 |
+
2. Open the provided URL in your browser.
|
77 |
+
3. Upload a PDF or enter a query to generate a lecture.
|
78 |
+
|
79 |
+
## Project Structure
|
80 |
+
- `main.py`: Entry point for the Gradio application.
|
81 |
+
- `app/`: Contains the core modules for lecture generation, chatbot, PDF processing, and more.
|
82 |
+
- `lecture_generator.py`: Handles lecture creation.
|
83 |
+
- `voice_synthesizer.py`: Converts text to speech.
|
84 |
+
- `rag_system.py`: Implements the RAG chatbot.
|
85 |
+
- `pdf_processor.py`: Extracts and processes PDF content.
|
86 |
+
- `gradio_interface.py`: Defines the Gradio interface.
|
87 |
+
|
88 |
+
## Requirements
|
89 |
+
- Python 3.11 or higher
|
90 |
+
- OpenAI API key (set in `.env` file)
|
91 |
+
|
92 |
+
## Environment Variables
|
93 |
+
Create a `.env` file in the project root and add the following:
|
94 |
+
```env
|
95 |
+
OPENAI_API_KEY=<your_openai_api_key>
|
96 |
+
```
|
97 |
+
|
98 |
+
## License
|
99 |
+
This project is licensed under the MIT License. See the LICENSE file for details.
|
100 |
+
|
101 |
+
## Acknowledgments
|
102 |
+
- [OpenAI](https://openai.com/) for GPT-based models.
|
103 |
+
- [Gradio](https://gradio.app/) for the interactive interface.
|
104 |
+
- [ReportLab](https://www.reportlab.com/) for PDF generation.
|
105 |
+
|
106 |
+
---
|
107 |
+
|
108 |
+
*This project was developed to make learning more interactive and accessible by leveraging AI technologies.*
|