Skip to content

leafspark/AutoGGUF

AutoGGUF-banner

AutoGGUF - automated GGUF model quantizer

GitHub release GitHub last commit CI/CD Status

Powered by llama.cpp Platform Compatibility GitHub license GitHub top language

GitHub stars GitHub forks GitHub release (latest by date) GitHub repo size Lines of Code

Issues Code Style: Black PRs Welcome

The most comprehensive GUI tool for GGUF model quantization. Stop wrestling with command lines - quantize, merge, and optimize your models with just a few clicks.

Features

  • πŸ“© Download and manage llama.cpp backends
  • πŸ—ƒοΈ Select and quantize GGUF models
  • πŸ“ Configure quantization parameters
  • πŸ’» Monitor system resources during quantization
  • ⏳ Parallel quantization + imatrix generation
  • πŸŽ‰ LoRA conversion and merging
  • πŸ“ Preset saving and loading
  • 8️⃣ AutoFP8 quantization
  • πŸͺ“ GGUF splitting and merging
  • 🌐 HTTP API for automated monitoring

Why AutoGGUF?

  • Fast: Saves time on manual configuration
  • Simple: Clean UI, no terminal needed
  • Powerful: Handles models up to infinite size, only limited by your RAM
  • Resource-aware: Optimized memory management and efficient UI library

AutoGGUF-v1 8 1-showcase-blue

Quick Start

Cross-platform

  1. git clone https://github.com/leafspark/AutoGGUF
  2. cd AutoGGUF
  3. Install dependencies:
    pip install -r requirements.txt
    
  4. Run the application:
    python src/main.py
    
    or use the run.bat script.

macOS and Ubuntu builds are provided with GitHub Actions, you may download the binaries in the releases section.

Windows (for the impatient)

Standard builds:

  1. Download the latest release
  2. Extract all files to a folder
  3. Run AutoGGUF-x64.exe
  4. Any necessary folders will be automatically created

Setup builds:

  1. Download setup variant of latest release
  2. Extract all files to a folder
  3. Run the setup program
  4. The .GGUF extension will be registered with the program automatically
  5. Run the program from the Start Menu or desktop shortcuts

After launching the program, you may access its local server at port 7001 (set AUTOGGUF_SERVER to "enabled" first)

Verifying Releases

Linux/macOS:

gpg --import AutoGGUF-v1.5.0-prerel.asc
gpg --verify AutoGGUF-v1.9.1-Windows-avx2.zip.sig AutoGGUF-v1.9.1-Windows-avx2.zip
sha256sum -c AutoGGUF-v1.9.1.sha256

Windows (PowerShell):

# Import the public key
gpg --import AutoGGUF-v1.5.0-prerel.asc

# Verify the signature
gpg --verify AutoGGUF-v1.9.1-Windows-avx2.zip.sig AutoGGUF-v1.9.1-Windows-avx2.zip

# Check SHA256
$fileHash = (Get-FileHash -Algorithm SHA256 AutoGGUF-v1.9.1-Windows-avx2.zip).Hash.ToLower()
$storedHash = (Get-Content AutoGGUF-v1.9.1.sha256 | Select-String AutoGGUF-v1.9.1-Windows-avx2.zip).Line.Split()[0]
if ($fileHash -eq $storedHash) { "SHA256 Match" } else { "SHA256 Mismatch" }

Release keys are identical to ones used for commiting.

Building

Cross-platform

pip install -U pyinstaller
./build.sh RELEASE | DEV
cd build/<type>/dist/
./AutoGGUF

Windows

pip install -U pyinstaller
build RELEASE | DEV

Find the executable in build/<type>/dist/AutoGGUF.exe.

You can also use Nuitka, which may result in a slower build but a faster output executable:

build_optimized RELEASE | DEV

Localizations

View the list of supported languages at AutoGGUF/wiki/Installation#configuration (LLM translated, except for English).

More languages will be updated as soon as possible!

To use a specific language, set the AUTOGGUF_LANGUAGE environment variable to one of the listed language codes (note: some languages may not be fully supported yet, those will fall back to English).

Issues

  • Some inconsistent logging

Planned Features

  • Time estimation for quantization
  • Quantization file size estimate
  • Perplexity testing
  • bitsandbytes (coming soon)

Support

  • SSL module cannot be found error: Install OpenSSL or run from source using python src/main.py with the run.bat script (pip install requests)
  • Check out the Wiki for advanced usage

Contributing

Fork the repo, make your changes, and ensure you have the latest commits when merging. Include a changelog of new features in your pull request description. Read CONTRIBUTING.md for more information.

Stargazers

Star History Chart