Skip to main content

Multi-provider AI chat interface supporting 9+ LLM providers (Anthropic, OpenAI, xAI, Cohere, Mistral, Perplexity, Gemini, HuggingFace, Groq)

Project description

🎨 LLM Slate

Web interface for chatting with 9+ AI providers in one place.

License: MIT Python Flask

Chat with Claude, GPT-4, Grok, Gemini, and more from a single interface. Generate images with DALL-E or Aurora. Analyze images with Claude Vision or GPT-4 Vision. All with your own API keys, running locally.

Features

  • Chat with 9 AI providers: Anthropic (Claude), OpenAI (GPT), xAI (Grok), Cohere, Mistral, Perplexity, Gemini, HuggingFace, Groq
  • Image generation (DALL-E 3, Aurora)
  • Image analysis (Claude Vision, GPT-4 Vision)
  • Conversation history saved locally
  • Password protected
  • Clean, minimal interface

Quick Start

Installation

pip install llm-slate

Set Up API Keys

Create a .env file with your API keys:

# Add keys for the providers you want to use
ANTHROPIC_API_KEY=your_key_here
OPENAI_API_KEY=your_key_here
XAI_API_KEY=your_key_here
COHERE_API_KEY=your_key_here
MISTRAL_API_KEY=your_key_here
PERPLEXITY_API_KEY=your_key_here
GEMINI_API_KEY=your_key_here
HUGGINGFACE_API_KEY=your_key_here
GROQ_API_KEY=your_key_here

# Flask secret (generate with: python -c "import secrets; print(secrets.token_hex(32))")
FLASK_SECRET_KEY=your_secret_key_here

# Optional: Custom password (default: "friendship")
STUDIO_PASSWORD=your_password_here

# Optional: Custom port (default: 5413)
STUDIO_PORT=5413

Run

llm-slate

Then open http://localhost:5413 in your browser.

Usage

Chat

  1. Select a provider from the dropdown
  2. Choose a model
  3. Start chatting

Your conversation history is saved and persists across sessions.

Image Generation

  1. Go to the "Images" tab
  2. Select provider (OpenAI or xAI)
  3. Enter your prompt
  4. Click generate

Image Analysis

  1. Go to the "Vision" tab
  2. Upload an image
  3. Select provider (Anthropic or OpenAI)
  4. Ask questions about the image

Configuration

Environment Variables

  • STUDIO_PORT - Port to run on (default: 5413)
  • STUDIO_PASSWORD - Login password (default: "friendship")
  • STUDIO_BASE_PATH - Base path for reverse proxy (e.g., /studio)
  • FLASK_SECRET_KEY - Flask session secret (required)

Provider API Keys

Only include keys for providers you want to use. Multi-Studio detects which providers are available based on your configured API keys.

Development

From Source

git clone https://github.com/lukeslp/llm-slate.git
cd llm-slate
pip install -e .

Project Structure

llm-slate/
├── app.py              # Main Flask application
├── config.py           # Configuration management
├── database.py         # Conversation storage
├── cache_manager.py    # Response caching
├── providers/          # Provider adapters
├── core/               # Core utilities
├── templates/          # HTML templates
├── static/             # CSS/JS assets
└── blueprints/         # Flask blueprints

Security

  • All API keys are read from environment variables (never hardcoded)
  • Conversations stored locally in SQLite database
  • Password required to access interface
  • No data sent to external services except your chosen AI providers

Supported Providers

Provider Chat Images Vision
Anthropic (Claude)
OpenAI (GPT) ✅ (DALL-E)
xAI (Grok) ✅ (Aurora)
Cohere
Mistral
Perplexity
Gemini
HuggingFace
Groq

Requirements

  • Python 3.10+
  • API keys for at least one provider
  • Flask 3.0+

Author

Luke Steuber

License

MIT License - see LICENSE for details.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

llm_slate-1.0.0.tar.gz (30.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

llm_slate-1.0.0-py3-none-any.whl (18.1 kB view details)

Uploaded Python 3

File details

Details for the file llm_slate-1.0.0.tar.gz.

File metadata

  • Download URL: llm_slate-1.0.0.tar.gz
  • Upload date:
  • Size: 30.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.3

File hashes

Hashes for llm_slate-1.0.0.tar.gz
Algorithm Hash digest
SHA256 33be5a2cdba6f606fb9472bb1e9383fc574bbbf429b95c10cd81c456ec864ed9
MD5 ffac1158f2f17233b4e861233cebb444
BLAKE2b-256 bdbc8a637b22cb45475cf162956f19a62dadca4171ad8e31687df85c76468426

See more details on using hashes here.

File details

Details for the file llm_slate-1.0.0-py3-none-any.whl.

File metadata

  • Download URL: llm_slate-1.0.0-py3-none-any.whl
  • Upload date:
  • Size: 18.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.3

File hashes

Hashes for llm_slate-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 168458a53f68489a9540ed5623b0b4f4049b9daea02761ac6fd6890fb5928e81
MD5 0bd7dd34fb96edcc1b3fd73dc7af3e03
BLAKE2b-256 1304c79a3fc4692f95f6b083f7c5e8d2164a1b2d0ed03e5850d04995e9c7d4d5

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page