slide-deck-ai  by barun-saha

AI-powered presentation co-creation

Created 2 years ago
261 stars

Top 97.5% on SourcePulse

GitHubView on GitHub
Project Summary

SlideDeck AI addresses the time-consuming process of creating presentations by leveraging Generative AI. It allows users to co-create PowerPoint slide decks on any topic by simply providing a description. The tool is beneficial for anyone who needs to generate presentations efficiently, from students to professionals.

How It Works

SlideDeck AI utilizes a Large Language Model (LLM) to generate initial slide content based on a topic description. This content is structured as JSON, which is then used to search for and download relevant images. The python-pptx library generates the slides using the JSON data and pre-defined templates. Users can further refine the presentation by providing additional instructions, such as adding or modifying slides, with a maintained history of interactions.

Quick Start & Requirements

To run SlideDeck AI locally, follow these steps:

  1. Ensure you have Python 3.11+ and Git installed.
  2. Install Git LFS: sudo apt install git-lfs and run git lfs install.
  3. Clone the repository: git clone https://github.com/barun-saha/slide-deck-ai.git
  4. Navigate into the directory: cd slide-deck-ai
  5. Pull LFS files: git lfs pull (essential for PPTX templates).
  6. Create a virtual environment: python -m venv venv and activate it (source venv/bin/activate).
  7. Install dependencies: pip install -r requirements.txt.
  8. Run the application: streamlit run ./app.py.

For online LLM usage, API keys for providers like Azure OpenAI, Google Gemini, Cohere, Together AI, or OpenRouter are required and can be configured via a .env file or directly in the UI. For offline use, Ollama must be installed, and the RUN_IN_OFFLINE_MODE environment variable set to True. Internet connectivity is still needed for image fetching.

Highlighted Details

  • Supports multiple LLMs from various providers (Azure OpenAI, Google, Cohere, Together AI, OpenRouter), with recommendations for Mistral NeMo, Gemini Flash, and GPT-4o.
  • Offers an offline mode using Ollama for privacy-conscious users with self-hosted LLMs.
  • Can generate presentations from PDF files.
  • Won 3rd Place in the Llama 2 Hackathon with Clarifai in 2023.

Maintenance & Community

The project has received community contributions, including support for OpenRouter, PDF page range selection, and additional Gemini LLMs. Further community engagement details (like Discord/Slack) are not specified in the README.

Licensing & Compatibility

The project is licensed under the MIT license. It uses icons from bootstrap-icons (MIT license) and SVG Repo (CC0, MIT, Apache licenses). Compatibility for commercial use is generally permissive due to the MIT license, but users should verify the licenses of any integrated third-party assets.

Limitations & Caveats

While the tool can generate presentations from PDFs, the README does not detail the extent or quality of this feature. Internet connectivity is still required for fetching images, even when using offline LLMs. The effectiveness of generated content may vary depending on the chosen LLM and the complexity of the topic.

Health Check
Last Commit

5 days ago

Responsiveness

1 day

Pull Requests (30d)
4
Issues (30d)
5
Star History
14 stars in the last 30 days

Explore Similar Projects

Feedback? Help us improve.