Skip to main content

AI Model Detector & Auto Downloader

Deep hardware scanning · Live model registry · Smart recommendations · Auto install

A precise, transparent tool that scans your entire system — from OS and CPU instruction sets to GPU drivers and available VRAM — then queries the live Ollama library, Hugging Face, and community issue trackers to recommend and install the best local AI model for your hardware.

Unlike tools that rely solely on GPU data or maintain a hardcoded model list, this tool fetches its registry fresh every run, so newly released models appear automatically without requiring a software update.


Install

pip3 install ai-model-detector --break-system-packages

Requirements: Python ≥ 3.11, internet connection (for live registry fetch)


Quick Start

# Scan hardware, fetch live registry, recommend + optionally install
ai-model-detector

# Filter by use-case
ai-model-detector --category code
ai-model-detector --category vision
ai-model-detector --category math
ai-model-detector --category reasoning

# Show more recommendations
ai-model-detector --top 10

# Import a macOS system profile instead of live scan
ai-model-detector --import ~/Desktop/MyMac.spx

# Pull a specific model directly
ai-model-detector --pull llama3.2:3b

# Output full JSON (pipe to other tools)
ai-model-detector --json > results.json

# List already-installed models
ai-model-detector --installed

How It Works

1 — System Scan

Reads hardware directly from the OS — no config file needed:

Source Data collected
/proc/cpuinfo · sysctl · wmic CPU brand, cores, AVX / AVX2 / AVX-512 / F16C flags
psutil RAM total, RAM available
dmidecode · system_profiler · wmic RAM speed
nvidia-smi NVIDIA GPU name, VRAM, CUDA version
rocm-smi · rocminfo AMD GPU name, VRAM, ROCm version
system_profiler SPDisplaysDataType Apple Silicon GPU, Metal support
psutil.disk_usage Free disk space
ollama --version Ollama presence and version

On macOS, machdep.cpu.features and machdep.cpu.leaf7_features are both queried so AVX2 is correctly detected on Intel Macs (it only appears in leaf7_features).

On macOS, pass --import file.spx to read a system_profiler export instead of scanning live hardware.

2 — Live Registry Fetch

Every run fetches fresh data — no model list is stored in the source code:

  • Ollama library — all available models with tags, sizes, and pull counts
  • Hugging Face API — top GGUF models by download count (shown for reference; flagged as manual-download only)
  • Ollama GitHub issues — open bug reports mapped to model names

3 — Compatibility Evaluation

Each model is assessed with factual classifications — there is no universal 0–100 suitability score:

Signal What you see
Memory fit FITS · TIGHT · RISKY · DOES_NOT_FIT · UNKNOWN
Metadata confidence Verified (known size) vs UNVERIFIED (incomplete metadata)
Pullability Ollama-pullable vs HuggingFace-only (pullable ≠ runnable)
GPU vs acceleration GPU name reported separately from LLM acceleration status
Performance Estimated / inferred / unknown tok/s — never claimed measured unless measured
Recommendation labels Best fit · Lowest memory · Fastest estimated · Coding · Reasoning · Experimental · Not recommended

UNKNOWN is never treated as FITS. If no verified model fits available memory, automatic installation is disabled and you must explicitly override.

4 — Install

Runs ollama pull <model> with live streaming output. Only models from the Ollama library are offered for auto-install — HuggingFace-only GGUF models are shown in the list but flagged as manual-download. If Ollama isn't installed, platform-specific install instructions are provided.


CLI Reference

usage: ai-model-detector [options]

options:
  --import FILE        Import a macOS .spx system profile
  --category CAT       Filter: chat | code | vision | math | reasoning | embedding
  --top N              Number of recommendations to show (default: 5)
  --json               Output full results as JSON
  --installed          List already-installed Ollama models
  --pull MODEL         Pull a specific model (e.g. llama3.2:3b)
  --no-hf              Skip Hugging Face supplemental data
  --verbose / -v       Enable debug logging
  --version            Show version and exit

macOS .spx Import

Export your system profile from the macOS System Information app:

  1. Open System Information (Cmd+Space → "System Information")
  2. File → Save… → choose System Information (.spx)
  3. Run: ai-model-detector --import ~/Desktop/MyMac.spx

Why Not Just Use GPU Data?

Tools that only look at GPU VRAM miss critical constraints:

  • A model might fit in VRAM but not in RAM when layers spill to CPU
  • CPU instruction sets (AVX2 vs AVX-512) drastically affect CPU-offload speed
  • Free disk space at download time is often the real bottleneck
  • Community bug reports reveal models that perform poorly on specific hardware regardless of specs

This tool checks all of these, not just VRAM.


Project Structure

src/ai_model_detector/
├── scanner.py    — deep hardware profiler (live + .spx import)
├── registry.py   — live model registry fetcher (Ollama + HuggingFace)
├── scorer.py     — compatibility evaluation + explainable recommendations
├── downloader.py — ollama pull with ANSI-stripped streaming output
├── display.py    — Rich terminal UI
└── cli.py        — CLI entry point

Contributing

Issues, hardware reports, and PRs welcome at
github.com/eliekh05/AI-Model-Detector-Auto-Downloader


License

MIT — see LICENSE

Metadata

Release files for ai-model-detector 1.6.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for ai-model-detector 1.6.0
File Size Uploaded
ai_model_detector-1.6.0.tar.gz 43.5 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for ai-model-detector 1.6.0
File Interpreter ABI Platform
ai_model_detector-1.6.0-py3-none-any.whl Python 3 none any Details

Total release size: 83.6 kB

Release files / ai_model_detector-1.6.0.tar.gz

Download URL ai_model_detector-1.6.0.tar.gz
Size 43.5 kB
Tags Source
SHA-256 checksum
How to use checksums
43f84dc1c0fe03a3a35919248fc510bde0d87ce65ee2c7a1d57611c88c37702e
BLAKE2b-256 checksum
How to use checksums
01b514baa4897ab84ebebc7b3185802ad8a67cf949c9aae804d3fc9437284c6b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.14

Release files / ai_model_detector-1.6.0-py3-none-any.whl

Download URL ai_model_detector-1.6.0-py3-none-any.whl
Size 40.1 kB
Tags Python 3
SHA-256 checksum
How to use checksums
0694f64273fc36deab89fafa2f50d676fc563f25b366c8ee04c22bf981cc8cdb
BLAKE2b-256 checksum
How to use checksums
3a7aa2c09fc8fa2f5e77a0866ffe9c2105c3d2ec1c31780f2e4ba371e6d14cbb
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.14

Release history Release notifications | RSS feed

2.1.0

2 release files

2.0.0

2 release files

1.10.0

2 release files

1.9.0

2 release files

1.8.0

2 release files

1.7.0

2 release files

This release

1.6.0 This release

2 release files

1.5.0

2 release files

1.4.0

2 release files

1.3.0

2 release files

1.2.0

2 release files

1.1.0

2 release files

1.0.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page