Ollama也许不是最好用的LLM安装管理工具,但它对于第三方工具的兼容性应该是最好的。不仅有Open-WebUI这一大帮手,各类AI工具如Page Assistant、Chatbox也可以自动调用其端口。没有GUI界面,启动安静又不占资源,可以开机就挂在后台。
2024年,AI大模型的主阵地——HuggingFace(抱脸)宣布支持用Ollama一件拉取其平台的模型。自此,Ollama用户可以直接在HuggingFace平台寻找想要的模型,然后复制对应的安装命令,命令行直接拉取和运行。
从DeepSeek R1面世以来,中文互联网的年轻人几乎人手一个DeepSeek App或账号。然而,多数人运行推理能力、知识面较广的“大模型”,即参数量比较大的模型,都没有足够配置的电脑。在DeepSeek V3与R1之前,大部分模型是FP16量化,运行70亿参数的7b模型,需要11-12GB显存。
FP8的DeepSeek R1已经是电脑救星了,而更有性价比的方式是跑Q6、Q4量化的版本。Q4量化虽然性能有明显衰减,但仍然比小模型的能力强很多。我家里是16GB显存的7800XT显卡,能够成功运行Q4_K_M量化的蒸馏版DeepSeek-R1-Qwen-32b模型。而安装一些小众的量化版、越狱版模型,就涉及到安装下载的gguf、safetensors文件了。所以折腾的过程中,也顺带写一篇经验分享。
安装方式
1、命令行拉取
ollama run hf.co/用户名/模型名:参数量级(及7b/32b)
例如:ollama run hf.co/deepseek-ai/deepseek-r1:7b
2、镜像拉取
ollama run hf-mirror.com/用户名/模型名:参数量级(及7b/32b)
3、GGUF和safetensors安装
safetensors一般要用llama.cpp转换成gguf格式,所以建议直接下载gguf格式的模型。下载好后,用cmd或者PowerShell命令行工具,定位到模型所在文件夹。例如下载到了D盘Ollama文件夹下,则可以先用cd D:\Ollama
切换到该目录下。然后用ollama create
命令,来安装gguf格式的大模型,生成运行所需要的二进制文件。
格式:ollama create 模型命名 模型文件.gguf -f modelfile
例如:ollama creat ds32-r1 deepseek-r1-32b-abliterated.gguf -f modelfile
modelfile写法
# gguf-modelfile.Modelfile
# 指定GGUF模型文件路径(需替换为实际路径)
FROM ./llama-2-7b-chat.Q4_K_M.gguf
# 设置模型参数
PARAMETER temperature 0.7 # 控制输出随机性 (0-1)
PARAMETER num_ctx 4096 # 上下文长度
# 定义停止词(防止模型无限生成)
PARAMETER stop "USER:" # 根据模型训练时使用的格式设置
PARAMETER stop "ASSISTANT:"
PARAMETER stop "###"
# 手动添加对话模板(因模型无内置模板)
TEMPLATE """{{ if .System }}<|system|>
{{ .System }}<|end|>
{{ end }}<|user|>
{{ .Prompt }}<|end|>
<|assistant|>
{{ .Response }}<|end|>"""
注意事项
用Ollama直接拉取Huggingface的模型,主要考验家里的网络。我实测从主站下载的速度,比hf-mirror镜像站的速度还要快不少,差不多能够跑到40MB/s的样子,而镜像站一般不超过10MB/s。但是从主站下完模型文件之后,Ollama还要拉取几个不到1kB的二进制文件,可能是验证模型用的,很容易因为网络原因拉取失败。
如果卡在这一步,那解决方法很简单,用Ctrl + C中断命令,把ollama run/pull ……
命令中网址里边hf.co换成hf-mirror.com就好了。由于是主站和镜像的关系,两个文件的MD5相同,进度是从断点保持,而非从0重新开始下载,很快就可以完成模型文件拉取,然后运行成功。
其次是如果你下载的是推理型模型,那么modelfile文件的模板要好好研究一下,不然可能运行中不显示推理过程,也就是
另外,一些大佬分享的模型中,包括了各种量化模型,用Ollama pull和run命令,在末尾加上量化参数,可以直接拉取对应版本。例子如下:
ollama run hf.co/bartowski/Llama-3.2-1B-Instruct-GGUF:Q8_0
大致就是这些了,最后再给一个用llama.cpp转换safetensors为gguf格式的代码示例,祝君好运!
git clone https://github.com/ggerganov/llama.cpp
cd llama.cpp
make
# 转换命令示例(需替换路径)
python3 convert.py --input-dir ./input-safetensors --output-format gguf --outfile ./output.gguf
微信扫描下方的二维码阅读本文