Spaces:
Running
Running
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. | |