4. Ollama基础命令:模型管理的五大金刚
说实话,刚接触Ollama的时候,我也有点懵。命令行工具嘛,命令多了容易记混。但别担心,今天要讲的这五个命令,你只要用上两三次,基本就刻在肌肉记忆里了。它们分别是:pull(下载)、run(运行)、list(查看)、rm(删除)、serve(启动服务)。说白了,这就是你操作本地大模型的全部家当。
核心逻辑图:Ollama命令工作流
4.1 ollama pull:把模型拉到本地
想用某个模型,第一步就是下载。命令很简单:ollama pull 模型名。比如我想下载Meta的Llama 3.1 8B模型,就敲:
ollama pull llama3.1:8b
这里有个小细节——模型名后面的冒号是版本标签。不加标签的话,默认拉取最新版(通常是latest)。我个人习惯是明确指定版本,避免哪天模型更新了,本地环境突然不兼容。
我的经验:下载大模型时,网络波动是常事。我曾经在下载一个70B的模型时,进度到80%突然断了……嗯,别慌。Ollama支持断点续传,重新执行pull命令会从断点继续。但前提是你别手贱把缓存清了。
下载完成后,模型文件默认存放在 ~/.ollama/models/ 目录下。你想想看,一个7B的模型大概4-5GB,70B的模型要40GB左右。所以下载前,记得看看磁盘空间够不够。
4.2 ollama run:让模型跑起来
模型下载好了,怎么用?直接run:
ollama run llama3.1:8b
执行后,你会进入一个交互式对话界面。就像在终端里跟AI聊天一样,你输入一句,它回一句。按 /bye 退出。
但这里有个坑——第一次run的时候,Ollama会先加载模型到内存。加载时间取决于你的硬件配置。我遇到过有人以为卡死了,直接Ctrl+C中断,结果下次又得重来。其实等等就好,一般十几秒到一分钟不等。
避坑指南:我曾经在只有8GB内存的笔记本上跑7B模型,结果系统直接卡死。后来才发现,Ollama默认会占用所有可用内存。解决办法是加参数:ollama run llama3.1:8b --num-gpu 0 强制用CPU跑,或者限制内存使用。说白了,硬件不够就别硬上大模型。
除了交互模式,你还可以直接传一句话让它处理:
ollama run llama3.1:8b "用一句话解释什么是量子计算"
这种用法在脚本里特别方便。我经常在自动化流程里这么用,省得手动敲对话。
4.3 ollama list:看看你有哪些模型
模型下多了,难免记不住。这时候用list:
ollama list
输出大概长这样:
| NAME | ID | SIZE | MODIFIED |
|---|---|---|---|
| llama3.1:8b | d0e5f8b4a2c1 | 4.9 GB | 2 days ago |
| mistral:7b | f3a7c9e1b5d2 | 4.1 GB | 5 days ago |
| qwen2.5:7b | a1b2c3d4e5f6 | 4.5 GB | 1 week ago |
这个命令没什么技术含量,但很实用。我每次清理磁盘前,都会先list一下,看看哪些模型是好久没用的。
4.4 ollama rm:清理不需要的模型
模型占空间,删掉不用的:
ollama rm llama3.1:8b
注意,删除是不可逆的。如果你只是暂时不用,建议先留着。我曾经手滑删了一个调优过的模型,结果重新下载花了半小时……嗯,从那以后我删模型前都会再三确认。
如果你想批量删除,可以结合list和grep:
ollama list | grep "old" | awk '{print $1}' | xargs -I {} ollama rm {}
这条命令会找出名字里带"old"的模型,然后全部删掉。慎用,别把自己坑了。
4.5 ollama serve:启动API服务
前面几个命令都是本地交互。如果你想通过API调用模型,比如集成到自己的应用里,就需要启动服务:
ollama serve
默认监听 http://localhost:11434。启动后,你可以用curl测试:
curl http://localhost:11434/api/generate -d '{
"model": "llama3.1:8b",
"prompt": "你好,世界!"
}'
返回的是JSON流,每行一个token。说白了,就是流式输出。
我的习惯:生产环境中,我会把ollama serve注册成系统服务,用systemd管理。这样开机自启,崩溃自动重启。具体配置网上有模板,我就不展开了。但记住一点——服务端口不要暴露到公网,除非你加了认证。我见过有人直接把11434端口映射到公网,结果被扫到后疯狂调用,账单直接爆炸。
另外,serve命令默认前台运行。想后台跑,加个&或者用nohup:
nohup ollama serve > ollama.log 2>&1 &
这样日志会写到文件里,方便排查问题。
小结
这五个命令,就是Ollama的日常操作核心。pull下载、run运行、list查看、rm删除、serve服务化。你想想看,是不是覆盖了从下载到使用的全流程?
刚开始用的时候,我建议你多试试run的交互模式,感受一下不同模型的风格。等熟悉了,再玩serve和API集成。别一上来就搞复杂架构,先把基础命令练熟。