Skip to main content

LLM Classifier GUI

A desktop GUI application for text classification using LLMs. Supports multiple inference backends: Ollama, vLLM, SGLang, and llama.cpp.

Python License

Built with Flet and powered by ollama-classifier.

Features

  • Multiple backends: Ollama, vLLM, SGLang, llama.cpp (local or remote)
  • Load data from CSV or Excel files
  • Flexible classification schema: define labels manually or load from a CSV/Excel file
  • Two classification methods:
    • Classify: single-call prediction with confidence score
    • Score: multi-call evaluation with softmax probabilities for all labels
  • Output format options:
    • Top label only: prediction + confidence
    • All labels: each label becomes a column with its probability
  • Batch size control: process multiple texts concurrently for speed
  • Save results to Excel (merged with original data)
  • Dark/Light mode toggle
  • Secure storage for API keys

Prerequisites

  1. Python 3.11+
  2. At least one inference backend:

Linux system dependencies

Dependency Purpose Install (Debian/Ubuntu)
zenity File picker dialogs sudo apt install zenity
libsecret-1-0 Secure storage backend sudo apt install libsecret-1-0
gnome-keyring or kwalletmanager or secret-service Keyring service sudo apt install gnome-keyring

Installation

# Via uvx (recommended — no installation needed)
uvx ollama-classifier-gui

# Or via pip
pip install ollama-classifier-gui
ollama-classifier-gui

Run from source

uv sync
uv run python -m ollama_classifier_gui.main

Usage

1. Settings tab

Configure your inference backend:

  • Select the backend type (Ollama, vLLM, SGLang, llama.cpp)
  • Set the endpoint URL (auto-fills with defaults)
  • Enter the model name (or use "Test Connection" to auto-detect available models)
  • Optionally set an API key for authenticated remote servers
  • Toggle dark/light mode
  • Click Save Settings

2. Data Input tab

  • Click Select File to load a CSV or Excel file
  • For Excel files, select the sheet from the dropdown
  • Select the text column that contains the text to classify

3. Schema tab

Define your classification labels:

  • Manual Labels: click "Add Label" to add labels with optional descriptions
  • Load from File: select a CSV/Excel file containing labels (and optionally descriptions)

Then choose:

  • Classification Method: Classify (fast) or Score (accurate probabilities)
  • Output Format: Top label only or All labels (each as a column)
  • Optionally override the system prompt

4. Results tab

  • Click Run Classification to start
  • Monitor progress in real-time
  • Click Save Results to export to Excel (original data + classification columns)

5. Info tab

  • Shows the application version and a link to the GitHub repository (both read from the package metadata defined in pyproject.toml)
  • Click "Open in Browser" to open the repository in your default browser

Configuration

Settings are stored in a JSON config file:

OS Path
Linux $XDG_CONFIG_HOME/ollama-classifier-gui/config.json (fallback ~/.config)
macOS ~/Library/Application Support/ollama-classifier-gui/config.json
Windows %APPDATA%\ollama-classifier-gui\config.json

API keys are stored separately using the OS native secure storage (Keychain, Credential Manager, libsecret).

Default Endpoints

Backend Default URL
Ollama http://localhost:11434
vLLM http://localhost:8000/v1
SGLang http://localhost:30000/v1
llama.cpp http://localhost:8080/v1

License

MIT

Change Log

  • 0.2.1 — Fix launch & runtime bugs
    • Fix the Schema tab "Classification Labels" card that failed to render (Tabs/TabBarView now have bounded height; tab switching wired via on_change)
    • Fix "Save Results" Excel export: remove invalid engine argument and add xlsxwriter (the polars 1.40 writer backend)
    • Rename entry module app.pymain.py (run directly with python -m ollama_classifier_gui.main)
    • Resolve all Flet deprecation warnings (ElevatedButtonButton, border.allBorder.all, margin.onlyMargin.only) to prepare for Flet 1.0
    • Add tests/ smoke tests; fix CI Python matrix (3.11/3.12)
  • 0.2.2 — Add Info section
    • New "Info" navigation tab showing the application version and GitHub repository link (sourced from pyproject.toml via importlib.metadata)

Download files

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

Source Distribution

ollama_classifier_gui-0.4.0.tar.gz (57.2 kB view details)

Uploaded Source

Built Distribution

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

ollama_classifier_gui-0.4.0-py3-none-any.whl (16.6 kB view details)

Uploaded Python 3

File details

Details for the file ollama_classifier_gui-0.4.0.tar.gz.

File metadata

  • Download URL: ollama_classifier_gui-0.4.0.tar.gz
  • Upload date:
  • Size: 57.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for ollama_classifier_gui-0.4.0.tar.gz
Algorithm Hash digest
SHA256 612edc0a0c094879c87b133ebfbb10cc75ad626fa02bc19d1474c637f1b6aac4
MD5 8905cc870fd45bd655db83515571cd95
BLAKE2b-256 ab96002b807ba2ec5d95ed825479cc8b462f633fa3eff5d72da814aac1d853f9

See more details on using hashes here.

Provenance

The following attestation bundles were made for ollama_classifier_gui-0.4.0.tar.gz:

Publisher: python-publish.yml on paluigi/ollama-classifier-gui

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file ollama_classifier_gui-0.4.0-py3-none-any.whl.

File metadata

File hashes

Hashes for ollama_classifier_gui-0.4.0-py3-none-any.whl
Algorithm Hash digest
SHA256 219ce6971ff92b98a6dd474065922b8ec2f9761b573ef8eb82bf7cf4c8018961
MD5 0bac9797336b3d280f94b19ad3193e35
BLAKE2b-256 5624a03f5d8345def576adf3dc25af841a2d4c681d3ae8f11f3087ffbb2a2b0f

See more details on using hashes here.

Provenance

The following attestation bundles were made for ollama_classifier_gui-0.4.0-py3-none-any.whl:

Publisher: python-publish.yml on paluigi/ollama-classifier-gui

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

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