Skip to content

A powerful Streamlit-based application offering a suite of AI-powered tools using LLMs like Gemini, including a blog assistant, document summarizer, SQL generator, and data analyzer.

License

Notifications You must be signed in to change notification settings

MoustafaMohamed01/llm-tools-suite

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

50 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

LLM Tools Suite

πŸ“› Badges

Live Demo License: MIT Built with Streamlit LLM: Google Gemini LangChain FAISS Python Platform


An integrated suite of AI-powered tools designed to enhance productivity by leveraging advanced Large Language Models. The platform provides a unified interface for content generation, data analysis, SQL query creation, document and website summarization, code explanation, and more.

Live Demo: https://llm-tools-suite.streamlit.app/


Features

The LLM Tools Suite includes the following specialized modules within a single Streamlit application:

  • AI Assistant A professional conversational AI assistant offering quick, accurate responses. (Default landing page)

  • Blog AI Assistant Generate high-quality, engaging blog posts using AI based on titles, keywords, and desired lengths.

  • AI CSV Analyzer Upload CSV files and explore your data intelligently with LLM-powered natural language queries.

  • SQL Query Generator Convert natural language descriptions into syntactically correct SQL queries, supporting multiple dialects.

  • Document Summarizer Upload PDF or Word documents and receive concise, accurate summaries with download options.

  • Website Summarizer Provide a URL to summarize webpage content quickly and download the summary.

  • Code Explainer (New) Paste code snippets in popular languages and receive a detailed explanation including:

    • The full original code snippet
    • A comprehensive overview of the entire snippet
    • A line-by-line breakdown explaining syntax, logic, and key components

Screenshots

AI Assistant

Overview

Blog AI Assistant

Blog Assistant

AI CSV Analyzer

CSV Analyzer

SQL Query Generator

SQL Generator

Document Summarizer

Document Summarizer

Website Summarizer

Website Summarizer

Code Explainer

(Add your screenshot here)


Project Structure

llm-tools-suite/
β”‚
β”œβ”€β”€ tools/
β”‚   β”œβ”€β”€ blog_assistant.py
β”‚   β”œβ”€β”€ code_explainer.py           # New tool for code explanations
β”‚   β”œβ”€β”€ data_analyzer.py
β”‚   β”œβ”€β”€ sql_query_generator.py
β”‚   β”œβ”€β”€ document_summarizer.py
β”‚   β”œβ”€β”€ document_summarizer_utils.py
β”‚   └── website_summarizer.py
β”‚
β”œβ”€β”€ app.py                         # Main Streamlit app interface with multi-tab chat & UI improvements
β”œβ”€β”€ README.md                      # Project documentation
β”œβ”€β”€ requirements.txt               # Python dependencies
└── images/                        # Screenshot assets

Installation

  1. Clone the repository

    git clone https://github.com/MoustafaMohamed01/llm-tools-suite.git
    cd llm-tools-suite
  2. Install dependencies

    pip install -r requirements.txt
  3. Set up your API key (Local development)

    Create .streamlit/secrets.toml in the root folder and add:

    GEMINI_API_KEY = "your-gemini-api-key"

    Alternatively, export the key in your shell environment:

    export GEMINI_API_KEY="your-gemini-api-key"

    Note: Never commit your API keys to source control. .streamlit/secrets.toml and .env files are included in .gitignore.


Deployment to Streamlit Community Cloud

  1. Ensure your requirements.txt is accurate and GEMINI_API_KEY is accessed securely via environment variables (os.getenv("GEMINI_API_KEY")).

  2. Go to share.streamlit.io, log in, and create a new app linked to this repository.

  3. Set the main file path as app.py.

  4. In Advanced settings / Secrets, add:

    GEMINI_API_KEY="YOUR_ACTUAL_GEMINI_API_KEY_HERE"
    
  5. Deploy and Streamlit will handle the hosting.


Running Locally

streamlit run app.py

This launches the app, starting on the AI Assistant page. Use the sidebar to navigate between tools.


Built With

  • Streamlit – UI and web app framework
  • LangChain – Managing LLM chains and document processing
  • Google Gemini API – Large Language Model backend
  • FAISS – Vector similarity search for document/website summarization
  • pypdf / python-docx – PDF and Word document parsing
  • Requests & Beautiful Soup 4 – Web scraping for website summarization

To-Do

  • Add support for DOC file format (if not covered by python-docx)
  • Enable chat-based interaction for CSV Analyzer for richer conversations
  • Add user authentication for secure access
  • Enhance summary download options (e.g., export as PDF)
  • Add screenshot for Code Explainer tool

Acknowledgements

Thanks to the open-source communities and teams behind Streamlit, LangChain, and Google AI.


About Me

Moustafa Mohamed Aspiring AI Developer specializing in Machine Learning, Deep Learning, and LLM Engineering.


About

A powerful Streamlit-based application offering a suite of AI-powered tools using LLMs like Gemini, including a blog assistant, document summarizer, SQL generator, and data analyzer.

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published