Skip to content

Releases: Andyyyy64/whichllm

v0.5.15

Choose a tag to compare

@Andyyyy64 Andyyyy64 released this 03 Jul 14:56

v0.5.15

  • Resolves ranked GGUF recommendations to the actual downloadable artifact repo and filename when the ranked base model and runnable GGUF live in different Hugging Face repos.
  • Retunes AA index normalization and refreshes the fallback snapshot for the reworked Artificial Analysis scale.
  • Validates ranking flags such as --top, --min-speed, and --min-params before ranking.
  • Splits the Hugging Face fetcher into focused modules while keeping the existing whichllm.models.fetcher import surface.

v0.5.14

Choose a tag to compare

@Andyyyy64 Andyyyy64 released this 29 Jun 04:32

Added

  • Sliding-window attention metadata is now used in model fetching and KV cache estimation, improving VRAM estimates for models that use SWA. (#124)
  • Intel Arc Pro B70 / Battlemage G31 now has curated detection and simulation defaults, including PCI device 0xe223, 32 GB VRAM, and 608 GB/s bandwidth. (#93, #136)

Fixed

  • Model and benchmark metadata fetches now request gzip, deflate instead of brotli, avoiding broken br responses from mirrors or intermediate servers. (#128, #136)

v0.5.13

Choose a tag to compare

@Andyyyy64 Andyyyy64 released this 25 Jun 04:57

Added

  • HF_ENDPOINT support for Hugging Face model metadata fetches, so users behind a mirror can point whichllm at a compatible Hub endpoint. (#128, #131)
  • Manual detected-GPU overrides for usable VRAM and bandwidth, useful for iGPU and unified-memory systems where automatic detection is too conservative. (#132, #133)
  • README guidance for safer first-run flags when users want full-GPU, usable-speed recommendations with extra VRAM headroom.

Fixed

  • Search terms such as 7B, 0.5B, and 500M now match model parameter size instead of plain substrings, so qwen 7b no longer returns 1.7B or 30B-A3B by accident. (#107, #126)
  • GGUF sizing now treats FP16 and ternary TQ1_0 / TQ2_0 quant types correctly, avoiding underestimates for those files. (#125)

v0.5.12

Choose a tag to compare

@Andyyyy64 Andyyyy64 released this 18 Jun 12:58

Added

  • Markdown ranking output with --markdown / -m for pasteable GitHub issues, READMEs, Slack, and Discord.
  • Runtime-first ranking tables now show memory, estimated speed, fit type, and published date by default.
  • --speed any|usable|fast and the shorter --fit gpu alias for full-GPU recommendations.
  • --vram-headroom and --ram-budget for safer fit planning when runtimes or background processes need memory.

Changed

  • Speed colors now reflect practical generation speed: red under 4 tok/s, yellow from 4-10, green from 10-30, and bright green at 30+ tok/s.
  • --details restores the download-focused metadata table when needed.

Fixed

  • Invalid --vram-headroom values are now rejected even in CPU-only runs.

v0.5.11

Choose a tag to compare

@Andyyyy64 Andyyyy64 released this 18 Jun 06:01
8801ddc

Added

  • Multi-GPU simulation for repeated --gpu flags, comma-separated GPU specs, and count shorthand like 2x RTX 4090.
  • python -m whichllm now runs the CLI.
  • --gpu-only and --fit full-gpu filter recommendations to models that fit fully in GPU VRAM.
  • T5 lineage support for version-aware benchmark handling.

Fixed

  • Cached model and benchmark data are read as UTF-8.
  • GTX 1650 simulation distinguishes GDDR5 and GDDR6 variants by memory clock.
  • RAM reserve logic now uses a bounded reserve formula instead of a fixed 80% usable-RAM cap.

v0.5.10

Choose a tag to compare

@Andyyyy64 Andyyyy64 released this 11 Jun 07:52
9864db4

Fixed

  • Strong partial-offload candidates no longer get buried under weaker full-GPU models because the final sort no longer counts GPU fit twice.
  • Light partial offload is penalized less aggressively, while heavy dense offload still gets a strong discount.
  • MoE partial-offload scoring now gives a milder penalty when the active working set can plausibly stay on GPU.

v0.5.9

Choose a tag to compare

@Andyyyy64 Andyyyy64 released this 10 Jun 05:49

Highlights

  • GPU bandwidth detection now falls back to the bundled TechPowerUp database (2,824 GPUs) when a card is missing from the curated catalog. Uncatalogued cards no longer show BW: N/A with 0.0 tok/s estimates and oversized recommendations, and a laptop card can never inherit its desktop sibling's bandwidth. (#74, #98)
  • Fixed AMD discrete GPU detection on Linux, including RX 6750 XT and the compound lspci name path. (#61)
  • Artificial Analysis Intelligence Index is fetched live again after the site's App Router migration. Live scores overlay the curated snapshot, so coverage can only grow. (#87)
  • Added MXFP4 and NVFP4 quantization support. These repos were previously labeled FP16, overestimating VRAM by about 3.5x. (#27)
  • Added Apple M5-family simulation entries and Kepler-era Quadro catalog coverage.
  • Community GGUF repos without base_model metadata now match official benchmark scores by name.

QA

  • CI lint: passed
  • CI tests: Python 3.11, 3.12, and 3.13 passed
  • Local: 329 tests passed; sdist and wheel built successfully
  • Real hardware smoke test on Apple M2

v0.5.8

Choose a tag to compare

@Andyyyy64 Andyyyy64 released this 05 Jun 06:45
026ab36

Highlights

  • Fixed the A3000 Laptop 6GB ranking regression.
  • Added retry/backoff for transient Hugging Face and benchmark fetch failures.
  • Improved Error fetching models output when network exceptions have no message.
  • Added GPU catalog coverage for A3000 Laptop, RTX 3050, RTX 5060, RTX 5070 Ti, RX 9070, and RX 9070 XT.
  • Added context-length shorthand and benchmark source/confidence metadata in JSON output.

QA

  • CI lint: passed
  • CI tests: Python 3.11, 3.12, and 3.13 passed
  • Local build: sdist and wheel built successfully

v0.5.7

Choose a tag to compare

@Andyyyy64 Andyyyy64 released this 19 May 19:52

What's Changed

  • Detect DGX Spark / NVIDIA GB10 as a shared-memory NVIDIA GPU when NVIDIA reports memory.total as unavailable.
  • Fix whichllm run crashes for large Transformers models by providing an offload_folder.
  • Respect XDG_CACHE_HOME for cache paths, while ignoring relative values per the XDG spec.
  • Treat Apple Silicon as shared memory in fit detection.
  • Inline LiveBench fallback data and speed up benchmark score fetching.

Validation

  • ruff format --check .
  • ruff check .
  • pytest -q -s
  • python -m build
  • twine check dist/*

v0.5.6

Choose a tag to compare

@Andyyyy64 Andyyyy64 released this 17 May 18:54
ee0e666

What's Changed

  • Add speed estimate confidence metadata and estimated tok/s ranges.
  • Improve MoE speed estimates using active parameters and bandwidth-scaled read floors.
  • Add Windows AMD/Intel GPU detection fallback through Win32_VideoController and registry memory reads.
  • Treat Ryzen AI / Radeon 890M-class Windows iGPUs as shared-memory AMD GPUs.
  • Avoid summing dedicated GPU VRAM with shared-memory iGPU system RAM as one full-GPU target.

Validation

  • ruff format --check .
  • ruff check .
  • pytest -q -s
  • python -m build