Spaces:
Sleeping
Sleeping
Update description
Browse files- README.md +6 -4
- app.py +2 -3
- global_config.py +4 -2
README.md
CHANGED
|
@@ -30,13 +30,14 @@ SlideDeck AI works in the following way:
|
|
| 30 |
|
| 31 |
1. Given a topic description, it uses Mistral Nemo Instruct to generate the *initial* content of the slides.
|
| 32 |
The output is generated as structured JSON data based on a pre-defined schema.
|
| 33 |
-
2.
|
|
|
|
| 34 |
based on the JSON data from the previous step.
|
| 35 |
A user can choose from a set of three pre-defined presentation templates.
|
| 36 |
-
|
| 37 |
For example, one can ask to add another slide or modify an existing slide.
|
| 38 |
A history of instructions is maintained.
|
| 39 |
-
|
| 40 |
Clicking on the button will download the file.
|
| 41 |
|
| 42 |
|
|
@@ -55,7 +56,8 @@ number of allowed characters in the textbox, pasting would not work.
|
|
| 55 |
SlideDeck AI uses [Mistral-Nemo-Instruct-2407](https://huggingface.co/mistralai/Mistral-Nemo-Instruct-2407)
|
| 56 |
via the Hugging Face Inference API.
|
| 57 |
To run this project by yourself, you need to provide the `HUGGINGFACEHUB_API_TOKEN` API key,
|
| 58 |
-
for example, in a `.env` file.
|
|
|
|
| 59 |
|
| 60 |
|
| 61 |
# Live Demo
|
|
|
|
| 30 |
|
| 31 |
1. Given a topic description, it uses Mistral Nemo Instruct to generate the *initial* content of the slides.
|
| 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 |
|
|
|
|
| 56 |
SlideDeck AI uses [Mistral-Nemo-Instruct-2407](https://huggingface.co/mistralai/Mistral-Nemo-Instruct-2407)
|
| 57 |
via the Hugging Face Inference API.
|
| 58 |
To run this project by yourself, you need to provide the `HUGGINGFACEHUB_API_TOKEN` API key,
|
| 59 |
+
for example, in a `.env` file. For image search, the `PEXEL_API_KEY` should be added.
|
| 60 |
+
Visit the respective websites to obtain the keys.
|
| 61 |
|
| 62 |
|
| 63 |
# Live Demo
|
app.py
CHANGED
|
@@ -12,7 +12,6 @@ from langchain_community.chat_message_histories import (
|
|
| 12 |
)
|
| 13 |
from langchain_core.messages import HumanMessage
|
| 14 |
from langchain_core.prompts import ChatPromptTemplate
|
| 15 |
-
# from transformers import AutoTokenizer
|
| 16 |
|
| 17 |
from global_config import GlobalConfig
|
| 18 |
from helpers import llm_helper, pptx_helper, text_helper
|
|
@@ -123,8 +122,8 @@ def set_up_chat_ui():
|
|
| 123 |
with st.expander('Usage Instructions'):
|
| 124 |
st.markdown(GlobalConfig.CHAT_USAGE_INSTRUCTIONS)
|
| 125 |
st.markdown(
|
| 126 |
-
'SlideDeck AI is powered by'
|
| 127 |
-
' [Mistral-
|
| 128 |
)
|
| 129 |
|
| 130 |
# view_messages = st.expander('View the messages in the session state')
|
|
|
|
| 12 |
)
|
| 13 |
from langchain_core.messages import HumanMessage
|
| 14 |
from langchain_core.prompts import ChatPromptTemplate
|
|
|
|
| 15 |
|
| 16 |
from global_config import GlobalConfig
|
| 17 |
from helpers import llm_helper, pptx_helper, text_helper
|
|
|
|
| 122 |
with st.expander('Usage Instructions'):
|
| 123 |
st.markdown(GlobalConfig.CHAT_USAGE_INSTRUCTIONS)
|
| 124 |
st.markdown(
|
| 125 |
+
'SlideDeck AI is powered by' # noqa: E501
|
| 126 |
+
' [Mistral-Nemo-Instruct-2407](https://huggingface.co/mistralai/Mistral-Nemo-Instruct-2407).'
|
| 127 |
)
|
| 128 |
|
| 129 |
# view_messages = st.expander('View the messages in the session state')
|
global_config.py
CHANGED
|
@@ -62,8 +62,10 @@ class GlobalConfig:
|
|
| 62 |
' You can also ask it to refine any particular slide, e.g.:\n'
|
| 63 |
'- Make the slide with title \'Examples of AI\' a bit more descriptive.'
|
| 64 |
'\n\n'
|
| 65 |
-
'See this [demo video](https://youtu.be/QvAKzNKtk9k) for a brief walkthrough
|
| 66 |
-
'SlideDeck AI does not have access to the Web
|
|
|
|
|
|
|
| 67 |
'\n\n'
|
| 68 |
'If you like SlideDeck AI, please consider leaving a heart ❤️ on the'
|
| 69 |
' [Hugging Face Space](https://huggingface.co/spaces/barunsaha/slide-deck-ai/) or'
|
|
|
|
| 62 |
' You can also ask it to refine any particular slide, e.g.:\n'
|
| 63 |
'- Make the slide with title \'Examples of AI\' a bit more descriptive.'
|
| 64 |
'\n\n'
|
| 65 |
+
'See this [demo video](https://youtu.be/QvAKzNKtk9k) for a brief walkthrough.\n\n'
|
| 66 |
+
' SlideDeck AI does not have access to the Web, apart for searching for images relevant'
|
| 67 |
+
' to the slides. Photos are added probabilistically; transparency needs to be changed'
|
| 68 |
+
' manually, if required.'
|
| 69 |
'\n\n'
|
| 70 |
'If you like SlideDeck AI, please consider leaving a heart ❤️ on the'
|
| 71 |
' [Hugging Face Space](https://huggingface.co/spaces/barunsaha/slide-deck-ai/) or'
|