whichllm:开源大模型选型辅助工具,显存算力测算一键获取最优本地模型

AI新闻 人工智能研究所
62

一、whichllm是什么

whichllm 是一款开源Python命令行工具,基于硬件参数与公开大模型评测数据,自动评估本地硬件运行能力,筛选出适配本机、综合表现优秀的开源大模型。

市面上很多本地大模型选择工具仅依靠显存大小、参数量判断模型是否可运行,容易出现“显存装得下,但推理速度慢、模型实际效果差”的问题。whichllm不再单纯依赖参数量做判断,结合多套权威公开评测、显存与KV缓存开销测算、硬件算力,给出经过加权后的综合评分,帮助用户快速选出适合自己设备的GGUF、AWQ、GPTQ格式开源大模型。项目采用MIT开源协议,支持NVIDIA、AMD、Apple Silicon、CPU多类硬件平台。

whichllm(图1)

二、功能特色

  1. 证据驱动模型评分
    整合Chatbot Arena ELO、LiveBench、Open LLM Leaderboard等公开评测数据生成0‑100综合分数,区分评测数据源可信度,过滤自报跑分、无效老旧评测;针对MoE模型区分总参数与激活参数,避免参数误导。

  2. 精细化硬件算力显存测算
    不只统计模型权重占用,同时计算KV缓存、激活值、运行时额外开销;支持设置显存预留冗余,减少OOM显存溢出报错;支持全显存加载、内存卸载、纯CPU三种运行模式。

  3. 硬件模拟与硬件规划
    无需真实硬件即可模拟多款显卡,可单卡、多卡模拟;支持反向查询,输入目标模型,输出运行该模型需要的最低硬件配置;支持多显卡横向对比,为硬件升级提供参考。

  4. 多维度筛选过滤
    支持按运行模式、推理速度、模型用途(代码、数学、多模态)、上下文窗口、量化等级做筛选;可限定输出结果数量,过滤过时低质量模型。

  5. 一键运行与开发输出
    run子命令自动处理模型下载,直接启动对话交互;可输出可直接复制的Python推理代码片段;输出支持表格、Markdown、JSON格式,便于对接Ollama、Shell脚本实现自动化。

  6. 缓存与提示优化
    评测数据、模型元数据本地缓存,减少重复网络请求;推理速度使用颜色标记,直观区分低速、可用、流畅、高速区间。

三、技术细节

项目基于Python开发,CLI交互层使用Typer构建,整体采用分层模块化架构。

  • 硬件层hardware:实现跨平台GPU、CPU、内存识别,内置显卡模拟器,可模拟未持有的硬件参数。

  • 模型数据层models:拉取HuggingFace模型元信息,拉取公开基准评测,做可信度分级,本地缓存数据。

  • 引擎层engine:完成显存、KV缓存、激活内存计算,预估token生成速度,执行多因子加权打分排序。

  • 命令交互层cli:实现run、snippet、plan、upgrade等子命令,处理参数解析。

  • 输出层output:完成表格、Markdown、JSON多格式渲染输出。

执行流程:

  1. 获取本机硬件信息或者读取模拟硬件参数;

  2. 请求HuggingFace模型库与公开评测数据集;

  3. 计算每个候选模型的内存占用、预估推理速度;

  4. 根据评测可信度、模型质量、硬件适配、速度等权重计算综合得分;

  5. 根据用户传入过滤条件过滤,输出排序后的模型列表。

缓存策略:模型元数据缓存6小时,评测基准数据缓存24小时,可手动强制刷新缓存。
支持模型格式:GGUF、AWQ、GPTQ、FP16。Python最低版本要求3.11。

四、应用场景

  1. 普通本地大模型使用者:自动检测本机电脑硬件,直接拿到适配本机、效果较好的本地大模型候选,不用翻阅大量评测文档对比。

  2. 购机硬件选型参考:模拟目标显卡,查看该显卡可以流畅跑哪些大模型;也可以输入模型反向查询需要什么配置,辅助选购显卡。

  3. 本地LLM开发者:一键生成推理代码片段;JSON输出对接Ollama,编写自动化脚本,批量筛选适配模型。

  4. 硬件升级对比:同时模拟多款显卡,横向对比不同硬件跑大模型的速度与可运行模型上限,辅助硬件升级决策。

whichllm(图2)

五、使用方法

环境要求

Python ≥3.11,支持uv/pip包管理器。

安装运行

  1. uvx直接运行(无需安装)

uvx whichllm
  1. pip安装

pip install whichllm
whichllm

常用命令示例

# 检测本机硬件,输出推荐模型列表
whichllm

# 模拟显卡,查看RTX4090适配模型
whichllm --gpu "RTX 4090"

# 查询运行Qwen3.6‑27B所需硬件
whichllm plan Qwen3.6‑27B

# 输出可直接运行的python代码片段
whichllm snippet

# 筛选代码方向模型,输出markdown格式
whichllm --profile coding --format markdown

# 一键启动模型对话
whichllm run

六、竞品对比

项目 whichllm llm‑hardware‑calculator Ollama model library
核心定位 硬件检测+评测加权综合推荐 显存占用计算器 大模型拉取运行工具
硬件模拟 支持单卡、多卡模拟,反向硬件规划 仅显存占用计算,无硬件模拟 无硬件模拟功能
评测数据驱动 集成多套公开评测,加权打分排序 无评测数据,仅计算显存 依靠社区标签,无自动评测打分
输出能力 表格、Markdown、JSON、Python代码 文本输出 命令行交互
额外能力 一键运行对话、速度评估、缓存机制 仅内存占用估算 模型下载、本地推理

七、常见问题解答

whichllm会自动下载大模型吗?

普通查询模式不会下载模型,只有执行whichllm run命令时,才会自动下载对应模型文件。

预估的token速度和实际跑起来速度不一致是什么原因?

工具为理论预估速度,实际速度会受驱动版本、后台进程占用、量化版本、上下文长度影响,存在合理偏差。

为什么部分热门模型没有出现在推荐列表?

工具会过滤评测可信度低、老旧失效模型;同时会根据硬件条件过滤掉显存无法承载的模型,可调整筛选参数放宽条件。

可以离线使用whichllm吗?

首次运行需要联网拉取模型元数据与评测基准;缓存生效后短时间断网可以使用旧缓存数据,长时间离线数据会过期。

支持Windows、Mac、Linux全部系统吗?

支持三大操作系统,Python版本必须满足3.11及以上;AMD显卡在Windows平台部分推理库兼容性会受限。

修改--vram‑headroom参数的作用是什么?

该参数设置显存预留空间,预留一部分显存给系统与驱动,降低显存溢出OOM报错概率,显存较小的设备建议调高。

八、相关链接

九、总结

whichllm是一款面向本地大模型用户的开源命令行工具,跳出单纯依靠参数量、显存大小筛选模型的传统思路,结合硬件算力测算与多源公开评测数据完成加权推荐,同时提供硬件模拟、反向硬件规划、代码片段输出等实用能力,既适合普通用户快速找到适配自己电脑的开源大模型,也可以为开发者提供脚本化的数据输出能力。

打赏
THE END
作者头像
人工智能研究所
发现AI神器,探索AI技术!