Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

History

33 Commits

Repository files navigation

🧭 AI Model Compass

VersionPythonPlatformLicenseStatusModels

Discover, download, and run local AI models — tailored to your hardware. Zero-config desktop app that auto-detects your GPU, recommends models that fit, and downloads them with one click.

Quick Start

git clone https://github.com/SysAdminDoc/AI-Model-Compass.git
cd AI-Model-Compass
python ai_model_compass.py # Auto-installs all dependencies on first run

That's it. No virtual environments, no pip install, no configuration. The app auto-bootstraps PyQt6, psutil, requests, and huggingface_hub on first launch.

Headless server use:

python ai_model_compass.py --headless --list-models
python ai_model_compass.py --headless --download Qwen3-8B --dest ~/AI-Models

Requirements

  • Python 3.8+ (tested on 3.10–3.14)
  • Internet for HuggingFace downloads (app itself works offline)
  • GPU optional — works on CPU-only systems

What It Does

AI Model Compass solves the "I want to run AI locally, now what?" problem. It scans your hardware, tells you exactly which models fit your GPU, estimates performance, and downloads GGUF files from HuggingFace — all from a single-file desktop app.

┌──────────────────┐ ┌──────────────────┐ ┌──────────────────┐
│ Hardware Scan │────>│ Model Matching │────>│ One-Click DL │
│ │ │ │ │ │
│ GPU / VRAM / │ │ 37 curated │ │ HuggingFace │
│ RAM / Bandwidth │ │ models filtered │ │ + Ollama pull │
│ Auto-detected │ │ to YOUR specs │ │ + SW integrate │
└──────────────────┘ └──────────────────┘ └──────────────────┘

Features

Core

FeatureDescription
Hardware Auto-DetectGPU, VRAM, CPU, RAM, memory bandwidth — detected at launch
Smart RecommendationsSelect use cases, get models ranked by fit + performance
VRAM CalculatorDrag sliders to see exactly how models fit your GPU
Speed Estimationtok/s predictions based on your GPU's memory bandwidth
Model CompatibilityVisual warnings when a model exceeds your VRAM
Cloud GPU FitShows the cheapest curated RunPod/Vast.ai GPU tier when a model will not fit locally
Hardware RefreshRe-detect GPU without restarting (eGPU, driver updates)
System Profile ExportOne-click copy of your full hardware specs to clipboard

Model Database — 37 Curated Models

CategoryModelsHighlights
General PurposeQwen3-32B, Qwen3-8B, Qwen3-4B, Qwen3-30B-A3B, Qwen3-235B-A22B, DeepSeek-R1-14B, Gemma-3-27BThinking modes, MoE, multilingual
CodingQwen2.5-Coder-32B, Qwen3-Coder-30B-A3B, Devstral-Small-24BSWE-bench leaders, agentic coding
RoleplayMN-Violet-Lotus-12B, MythoMax-L2-13B, Fimbulvetr-11B-v2, Lumimaid-v0.2-12B, Noromaid-13BRich prose, character consistency
UncensoredDolphin3.0-8B, Nous-Hermes-3-8B, JOSIEFIED-Qwen3-8BNo refusals, abliterated
Small / EfficientPhi-4-Mini (3.8B), SmolLM3-3BRun on anything
VisionQwen3-VL-8B, Qwen2.5-VL-72BImage + text understanding
AgentsFunctionary-v3.2-8BFunction calling, JSON output
Long ContextLlama-4-Scout, Mistral-Small-24B10M+ token context
NVIDIA / ServerQwen2.5-Coder AWQ, Qwen2.5 GPTQ, Llama AWQ, Gemma AWQvLLM, TabbyAPI, ExLlamaV2 downstreams

GGUF entries are verified against HuggingFace with working download links. AWQ/GPTQ rows link to HuggingFace repos for NVIDIA serving backends.

Downloads & Integration

FeatureDescription
Download QueueQueue multiple models — processes sequentially
Ollama PullOne-click ollama pull for sharded models (Qwen3-235B, Llama-4-Scout)
Ollama IntegrationAuto-creates Modelfile and registers downloaded GGUFs
LM Studio IntegrationAuto-copies GGUFs to LM Studio models directory
One-Click ServeLaunch detected llama-server, KoboldCpp, vLLM, or TabbyAPI backends
winget InstallOne-click install of Ollama, LM Studio, GPT4All, Jan via winget
Download HistoryFull history with right-click to delete files or open in Explorer
VRAM WarningsAlerts before downloading models that exceed your GPU

Benchmarking

FeatureDescription
Live BenchmarksMeasure actual tok/s on your hardware via Ollama
Bar Chart VisualizationVisual comparison of benchmark results
Concurrency SweepRuns 1x/2x/4x/8x Ollama sweeps and charts aggregate tok/s
50-Prompt EvalRuns a fixed local prompt harness and scores completion reliability
Benchmark HistoryTrack performance across models and dates
TTFT TrackingTime-to-first-token measurement

Discovery & Search

FeatureDescription
HuggingFace Live SearchSearch 800K+ models, filtered to GGUF, sorted by downloads
File BrowserExpand any repo to see all GGUF files with quant labels and sizes
Direct DownloadDownload any GGUF from search results with one click
Model ComparisonSide-by-side comparison table for up to 3 models
Favorites & NotesStar models, add personal notes, export JSON or Obsidian-compatible Markdown
6 Curated PacksBeginner Chat, Developer, Roleplay, Freedom, Intelligence, Research
Import/Export PacksShare custom model bundles as JSON
Headless ModeScript catalog listing and GGUF downloads with --headless

UI & Polish

FeatureDescription
Sidebar Navigation5 grouped sections replacing flat tabs
3 Dark ThemesObsidian, Catppuccin Mocha, OLED Black
VS Code Theme ImportImport .json color themes into app QSS tokens
Toast NotificationsSlide-in notifications for downloads, installs, benchmarks
System TrayMinimize to tray, background downloads, tray notifications
First-Run WizardGuided setup with hardware scan + use case picker
Educational Content6 topics covering AI basics, GGUF, quantization, hardware
Searchable Glossary30+ AI terms with definitions
Update TrackerTrack downloaded models and check for updates

Sidebar Navigation

The app organizes 13 pages into 5 logical groups:

🏠 Home ← Dashboard with hardware + software status
🔍 Discover
├─ 🗄️ Models ← Full database with search/filter/sort/compare
├─ 🎯 Recommend ← Use-case-based recommendations
├─ 📦 Packs ← Curated model bundles
└─ 🔍 HuggingFace ← Live search across 800K+ repos
⬇️ Download
├─ ⬇ Downloads ← Queue, history, software install
├─ ★ Favorites ← Starred models + notes
└─ 🔄 Updates ← Track model versions
🧰 Tools
├─ 📐 VRAM Calc ← Interactive VRAM estimation
├─ ⚡ Benchmark ← Live performance testing
└─ ⚙️ Software ← 14 tools comparison table
📖 Learn
├─ 📖 Topics ← Educational articles
└─ 📚 Glossary ← Searchable term dictionary

How It Works

Hardware Detection

  1. GPU — nvidia-smi (NVIDIA) or WMI (AMD/Intel fallback)
  2. VRAM — Queried directly from GPU driver
  3. CPU — WMI on Windows, /proc/cpuinfo on Linux
  4. RAM — psutil
  5. Memory Bandwidth — Lookup table of 45+ GPUs (RTX 20/30/40/50, RX 6000/7000)

Speed Estimation

tok/s ≈ Memory_Bandwidth_GBs / (Model_Size_GB × 1.15)

The 1.15x overhead accounts for KV cache and attention. CPU-only systems are capped at DDR bandwidth.

VRAM Tier System

TierVRAMExample GPUsMax GGUF
Ultra24 GB+RTX 4090, 3090~19.7 GB
High16 GBRTX 4070 Ti, 4080~13.1 GB
Mid-High12 GBRTX 4070, 3060 12GB~9.8 GB
Mid8 GBRTX 4060, 3060~6.6 GB
Low-Mid6 GBRTX 2060, GTX 1660~4.9 GB
Low4 GBGTX 1650~3.3 GB
CPU Only0Integrated / None~55% of RAM

Software Detection

Auto-detects 9 local AI tools with version numbers:

ToolDetection Methodwinget ID
Ollamaollama --version + PATHOllama.Ollama
LM StudioKnown install pathsElementLabs.LMStudio
KoboldCppKnown install pathsN/A (URL fallback)
GPT4AllKnown install pathsNomic.GPT4All
JanKnown install pathsJan.Jan
Docker Model Runnerdocker model list + PATHN/A
llama-serverllama-server --version + known pathsN/A
vLLMvllm --version + PATHN/A
TabbyAPIPython module / known start scriptsN/A

Configuration

All config is stored in ~/.ai_compass/:

FilePurpose
config.jsonTheme, wizard state, preferences
favorites.jsonStarred models and notes
history.jsonDownload history (last 50)
benchmarks.jsonBenchmark results (last 30)
update_manifest.jsonDownloaded model tracking
custom_presets.jsonUser-imported model packs
themes.jsonImported VS Code themes
crash.logLast crash traceback

Downloaded models save to ~/AI-Models/ by default (configurable).

Themes

Three built-in dark themes with full QSS styling:

  • Obsidian — Deep blue-black with blue accents (default)
  • Catppuccin Mocha — Warm purple-tinted dark with pastel accents
  • OLED Black — True black for OLED displays

Theme selection persists across sessions.

FAQ

Q: Do I need a GPU? No. The app works on CPU-only systems. It adjusts model recommendations based on available RAM instead of VRAM.

Q: Why only Q4_K_M quantization? Q4_K_M is the community standard — ~99% quality at 3.3x smaller than FP16. The VRAM Calculator and Learn section explain the tradeoffs. HuggingFace Search lets you download any quantization from any repo.

Q: Does this replace Ollama / LM Studio? No. It complements them. AI Model Compass helps you discover and download models, then integrates directly with Ollama and LM Studio to use them.

Q: Some models show "Fits" but are slow? "Fits" means it loads into VRAM. Speed depends on memory bandwidth. Check the tok/s estimate — under 5 tok/s will feel sluggish. The VRAM Calculator shows this visually.

Q: How do I run a downloaded model? After downloading, click "Register in Ollama" or "Copy to LM Studio". For Ollama: ollama run model-name. For LM Studio: the model appears in the sidebar automatically.

Tech Stack

  • Python 3.8+ — single file, zero external config
  • PyQt6 — native desktop GUI with dark themes
  • huggingface_hub — model search and downloads
  • psutil — hardware detection
  • requests — Ollama API communication
  • 2,600 lines — everything in one file

Contributing

Issues and PRs welcome. The codebase is a single ai_model_compass.py file.

To add a model to the database, add an entry to MODEL_DB:

{"n": "Model-Name", "p": "8B", "q": "Q4_K_M", "gb": 5.2, "ctx": "128K",
"sc": 85, "cat": "General Purpose", "lic": "Apache 2.0",
"d": "Description of the model.",
"tags": ["Tag1", "Tag2"],
"bf": "Best for X",
"repo": "username/repo-GGUF",
"file": "model-Q4_K_M.gguf"}

License

MIT

About

Discover, download, and run local AI models — tailored to your hardware. Zero-config desktop app that auto-detects your GPU, recommends models that fit, and downloads them with one click.

Topics

Resources

Code of conduct

Contributing

Security policy

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages