Spaces:
Running
Running
Update README.md
Browse files
README.md
CHANGED
@@ -1,77 +1,39 @@
|
|
1 |
-
|
2 |
-
title: SlideDeck AI
|
3 |
-
emoji: 🏢
|
4 |
-
colorFrom: yellow
|
5 |
-
colorTo: green
|
6 |
-
sdk: streamlit
|
7 |
-
sdk_version: 1.32.2
|
8 |
-
app_file: app.py
|
9 |
-
pinned: false
|
10 |
-
license: mit
|
11 |
-
---
|
12 |
|
13 |
-
|
14 |
|
15 |
-
|
16 |
-
With SlideDeck AI, co-create slide decks on any topic with Generative Artificial Intelligence.
|
17 |
-
Describe your topic and let SlideDeck AI generate a PowerPoint slide deck for you—it's as simple as that!
|
18 |
|
19 |
-
|
20 |
-
Originally, it was built using the Llama 2 API provided by Clarifai.
|
21 |
|
22 |
-
|
23 |
-
|
24 |
-
where you can create and improve the presentation.
|
25 |
|
|
|
26 |
|
27 |
-
|
28 |
|
29 |
-
|
|
|
|
|
|
|
|
|
30 |
|
31 |
-
|
32 |
-
The output is generated as structured JSON data based on a pre-defined schema.
|
33 |
-
2. Next, it uses the keywords from the JSON output to search and download a few images with a certain probability.
|
34 |
-
3. Subsequently, it uses the `python-pptx` library to generate the slides,
|
35 |
-
based on the JSON data from the previous step.
|
36 |
-
A user can choose from a set of three pre-defined presentation templates.
|
37 |
-
4. At this stage onward, a user can provide additional instructions to *refine* the content.
|
38 |
-
For example, one can ask to add another slide or modify an existing slide.
|
39 |
-
A history of instructions is maintained.
|
40 |
-
5. Every time SlideDeck AI generates a PowerPoint presentation, a download button is provided.
|
41 |
-
Clicking on the button will download the file.
|
42 |
|
|
|
|
|
43 |
|
44 |
-
|
45 |
|
46 |
-
|
47 |
-
(MIT license) in the slides. A few icons from [SVG Repo](https://www.svgrepo.com/)
|
48 |
-
(CC0, MIT, and Apache licenses) are also used.
|
49 |
|
|
|
|
|
50 |
|
51 |
-
|
52 |
|
53 |
-
- **Connection timeout**: Requests sent to the Hugging Face Inference endpoint might time out. If it still does not work, wait for a while and try again.
|
54 |
|
55 |
-
|
56 |
-
- **Cannot paste text in the input box**: If the length of the copied text is greater than the maximum
|
57 |
-
number of allowed characters in the textbox, pasting would not work.
|
58 |
|
59 |
-
|
60 |
-
# Local Development
|
61 |
-
|
62 |
-
SlideDeck AI uses [Mistral-Nemo-Instruct-2407](https://huggingface.co/mistralai/Mistral-Nemo-Instruct-2407)
|
63 |
-
via the Hugging Face Inference API.
|
64 |
-
To run this project by yourself, you need to provide the `HUGGINGFACEHUB_API_TOKEN` API key,
|
65 |
-
for example, in a `.env` file. For image search, the `PEXEL_API_KEY` should be added.
|
66 |
-
Visit the respective websites to obtain the keys.
|
67 |
-
|
68 |
-
|
69 |
-
# Live Demo
|
70 |
-
|
71 |
-
- [SlideDeck AI](https://huggingface.co/spaces/barunsaha/slide-deck-ai) on Hugging Face Spaces
|
72 |
-
- [Demo video](https://youtu.be/QvAKzNKtk9k) of the chat interface on YouTube
|
73 |
-
|
74 |
-
|
75 |
-
# Award
|
76 |
-
|
77 |
-
SlideDeck AI has won the 3rd Place in the [Llama 2 Hackathon with Clarifai](https://lablab.ai/event/llama-2-hackathon-with-clarifai) in 2023.
|
|
|
1 |
+
# AI-SlideMaker
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2 |
|
3 |
+
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!
|
4 |
|
5 |
+
AI-SlideMaker is powered by [Mistral-Nemo-Instruct-2407](https://huggingface.co/mistralai/Mistral-Nemo-Instruct-2407).
|
|
|
|
|
6 |
|
7 |
+
## Update (v4.0)
|
|
|
8 |
|
9 |
+
- Legacy AI-SlideMaker allowed one-shot generation of slide decks based on inputs.
|
10 |
+
- AI-SlideMaker *Reloaded* enables an iterative workflow with a conversational interface, allowing you to create and refine presentations interactively.
|
|
|
11 |
|
12 |
+
## Process
|
13 |
|
14 |
+
AI-SlideMaker works in the following way:
|
15 |
|
16 |
+
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.
|
17 |
+
2. **Image Search**: Using keywords from the JSON output, it searches and downloads relevant images with a certain probability.
|
18 |
+
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.
|
19 |
+
4. **Refinement**: Users can provide additional instructions to *refine* the content, such as adding new slides or modifying existing ones.
|
20 |
+
5. **Download**: Each time a presentation is generated, a download button is provided for users to download the PowerPoint file.
|
21 |
|
22 |
+
## Known Issues
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
23 |
|
24 |
+
- **Connection timeout**: Requests sent to the Hugging Face Inference endpoint might time out. If this happens, try again later.
|
25 |
+
- **Text Input Limit**: If the pasted text exceeds the maximum number of characters allowed in the input box, it will not paste correctly.
|
26 |
|
27 |
+
## Local Development
|
28 |
|
29 |
+
To run this project locally, you need to provide the following API keys:
|
|
|
|
|
30 |
|
31 |
+
- `HUGGINGFACEHUB_API_TOKEN`: To use the Hugging Face Inference API.
|
32 |
+
- `PEXEL_API_KEY`: To search and download images.
|
33 |
|
34 |
+
Add these keys to your environment variables or a `.env` file. Visit the respective websites to obtain these API keys.
|
35 |
|
|
|
36 |
|
37 |
+
## Acknowledgment
|
|
|
|
|
38 |
|
39 |
+
This is the first module of a final year project (FYP) developed under the supervision of Ma'am Fouzia.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|