text-generation-webui

Active
GitHub Python AGPL-3.0

Description

The original local LLM interface supporting text generation, vision, tool-calling, and training with both a web UI and API. Runs 100% offline and private.

Key Features

  • Multiple backends — Integrates llama.cpp, ExLlamaV3, Transformers, TensorRT-LLM with hot-swapping between backends
  • OpenAI/Anthropic-compatible API — Provides Chat, Completions, and Messages endpoints as a local drop-in replacement
  • Vision multimodal — Supports image attachments for visual understanding, plus PDF and DOCX file uploads for content chat
  • Tool calling — Models can call custom functions during chat (web search, page fetch, math) with MCP server support
  • LoRA training — Fine-tune LoRAs on multi-turn chat or raw text datasets with interrupted run resumption
  • 100% offline privacy — Zero telemetry, zero external resources, zero remote update requests; runs entirely locally

Use Cases

💡 Local LLM deployment: Run and switch between different open-source LLMs on personal computers with full data privacy
💡 AI application development: Provide local LLM inference via OpenAI-compatible API for custom applications
💡 Model fine-tuning: Use LoRA to fine-tune models on domain-specific data for improved performance on specialized tasks
💡 Visual understanding apps: Leverage multimodal capabilities to analyze images and documents for document Q&A systems

Strengths & Limitations

Strengths

  • Actively maintained, recent updates
  • High community interest (47.6k stars)
  • Established track record (3 years in production)

⚠️ Limitations

  • Restrictive license (AGPL-3.0)

Categories

Quick Start

# Clone the repository
git clone https://github.com/oobabooga/textgen.git && cd textgen

# Create virtual environment
python -m venv venv && source venv/bin/activate

# Install dependencies
pip install -r requirements/portable/requirements.txt --upgrade

# Launch server with API enabled
python server.py --portable --api --auto-launch

Related Projects

LlamaGPT

10.9k · TypeScript
Stale C

LlamaGPT is a self-hosted, offline ChatGPT-like chatbot powered by Llama 2. 100% private with no data leaving your device, with Code Llama support and one-click deployment via Umbrel.

chat-uiself-hostedllama +3
  • · 100% private and offline — no data leaves your device, fully self-hosted
  • · Supports multiple Llama 2 and Code Llama models (7B, 13B, 34B, 70B)
  • · One-click install on Umbrel home server via the Umbrel App Store

Jan

44.3k · TypeScript
Active A

Jan is an open source alternative to ChatGPT that runs 100% offline on your computer, supporting multiple local LLMs with a full desktop chat UI and API server.

chat-uidesktop-appoffline-ai +3
  • · Local LLM Execution — Download and run Llama, Gemma, Qwen from HuggingFace locally
  • · Cloud Model Integration — OpenAI GPT, Anthropic Claude, Mistral, Groq and more cloud APIs
  • · Local OpenAI-compatible API — Local API server at localhost:1337 for other applications

obsidian-wiki

3.3k · Python
Active A

Framework for AI agents to build and maintain an Obsidian wiki using Karpathy's LLM Wiki pattern.

agent-skillsknowledge-basellm-tools +5
  • · LLM Wiki pattern: compile knowledge once into interconnected markdown files instead of repeated RAG queries
  • · Compatible with all major AI coding agents: Claude Code, Cursor, Windsurf, Codex, Gemini CLI, and more
  • · Pip-installable CLI with automatic skill distribution to all installed agents