如果你想要这样使用 mlx-lm 为本地的图形化界面提供可使用的 LLM:
mlx_lm.server \
--model ./gemma-3-12b-it-qat-4bit \
--host 127.0.0.1 \
--port 3000 \
--temp 0.7
是不行的
mlx_lm.server 当前的设计是直接从 Hugging Face 仓库下载模型,其内部实现依赖 huggingface-hub 来解析和加载模型配置
因此,如果想对一个本地模型(例如,已经量化或融合过的模型)启动服务,你需要确保:
本地模型文件是 Hugging Face 格式
放在 huggingface-hub 的模型存放路径(~/.cache/huggingface/hub)
能被 huggingface-hub 正确识别
可能描述的并不清楚,举一个小例子,它在启动时会执行逻辑应该类似于:
from huggingface_hub import snapshot_download
model_path = snapshot_download(repo_id=model_name)
也就是说,它会把 --model 当成 Hugging Face repo 名,比如 mlx-community/Llama-3-70B-Instruct,而不是本地文件夹
因此,如果你传一个本地路径,它会报错或直接尝试解析为 repo id
更具体的信息我也不是很清楚,需具体查证
总之目前使用 mlx_lm.server 为像 open-webui 这种本地图形化界面提供 LLM 推理支持不是一个很好的选择
个人推荐 MLX 格式的模型可以使用 LM Studio,当然 LM Studio 也可以推理 GGUF
对于 MLX 模型 LM Studio 推理效率相比 mlx_lm.server 可能还要高一些,因为 LM Studio 应该使用的是 C++ 层的 MLX runtime(mlx::core)