Spaces:
Sleeping
Sleeping
| title: AI-SlideMaker | |
| emoji: 🏢 | |
| colorFrom: yellow | |
| colorTo: green | |
| sdk: streamlit | |
| sdk_version: 1.39.0 | |
| app_file: app.py | |
| pinned: false | |
| license: mit | |
| # AI-SlideMaker | |
| We spend a lot of time creating slides and organizing our thoughts for presentations. With AI-SlideMaker, you can co-create slide decks on any topic using Generative Artificial Intelligence. Describe your topic, and let AI-SlideMaker generate a PowerPoint slide deck for you—it's that simple! | |
| AI-SlideMaker is powered by [Mistral-Nemo-Instruct-2407](https://huggingface.co/mistralai/Mistral-Nemo-Instruct-2407). | |
| ## Update (v4.0) | |
| - Legacy AI-SlideMaker allowed one-shot generation of slide decks based on inputs. | |
| - AI-SlideMaker *Reloaded* enables an iterative workflow with a conversational interface, allowing you to create and refine presentations interactively. | |
| ## Process | |
| AI-SlideMaker works in the following way: | |
| 1. **Initial Slide Generation**: Given a topic description, AI-SlideMaker uses Mistral-Nemo-Instruct to generate the *initial* content of the slides. The output is generated as structured JSON data based on a pre-defined schema. | |
| 2. **Image Search**: Using keywords from the JSON output, it searches and downloads relevant images with a certain probability. | |
| 3. **Slide Creation**: It uses the `python-pptx` library to generate slides based on the JSON data. Users can choose from three pre-defined presentation templates. | |
| 4. **Refinement**: Users can provide additional instructions to *refine* the content, such as adding new slides or modifying existing ones. | |
| 5. **Download**: Each time a presentation is generated, a download button is provided for users to download the PowerPoint file. | |
| ## Known Issues | |
| - **Connection timeout**: Requests sent to the Hugging Face Inference endpoint might time out. If this happens, try again later. | |
| - **Text Input Limit**: If the pasted text exceeds the maximum number of characters allowed in the input box, it will not paste correctly. | |
| ## Local Development | |
| To run this project locally, you need to provide the following API keys: | |
| - `HUGGINGFACEHUB_API_TOKEN`: To use the Hugging Face Inference API. | |
| - `PEXEL_API_KEY`: To search and download images. | |
| Add these keys to your environment variables or a `.env` file. Visit the respective websites to obtain these API keys. | |
| ## Acknowledgment | |
| This is the first module of a final year project (FYP) developed under the supervision of Ma'am Fouzia. | |