File size: 2,437 Bytes
4400933
 
 
 
 
 
 
 
 
 
 
 
 
 
 
6065eba
f8e9610
6065eba
b743a8f
6065eba
b743a8f
6065eba
b743a8f
6065eba
 
a30250a
6065eba
a30250a
6065eba
b743a8f
6065eba
 
 
 
 
b743a8f
6065eba
a30250a
6065eba
 
a30250a
6065eba
15da154
6065eba
15da154
6065eba
 
15da154
6065eba
e48ea08
0a90995
6065eba
b743a8f
6065eba
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
---
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.