3. Ollama模型管理:下载模型、查看本地模型、删除模型、模型标签管理、模型运行与交互
模型管理这块,说白了就是你和Ollama打交道最频繁的部分。我刚开始用Ollama时,光下载模型就踩过不少坑——有的模型太大,下载到一半网络断了;有的版本搞混了,跑出来的结果完全不对。今天我把这些经验都摊开来讲,你照着做就行。
3.1 下载模型:从零开始拉取你的第一个模型
下载模型用ollama pull命令。我个人习惯先看看模型库里有啥,再去拉取。
# 查看可用的模型列表(在终端里)
ollama list
# 下载一个模型,比如llama3.2
ollama pull llama3.2
# 下载指定大小的版本(1B参数)
ollama pull llama3.2:1b
# 下载中文优化版模型
ollama pull qwen2.5:7b
嗯,这里有个坑。我曾经在项目里直接拉取llama3.2:latest,结果发现它默认是70B版本,我的笔记本直接卡死。后来才明白,latest标签指向的是最大参数版本。
3.2 查看本地模型:你手上有哪些“武器”
下载完模型后,怎么知道本地有哪些?用ollama list命令。
# 列出所有本地模型
ollama list
# 输出示例:
# NAME ID SIZE MODIFIED
# llama3.2:1b a8b4c5d6e7f8 1.2 GB 2 days ago
# llama3.2:7b 9f8e7d6c5b4a 4.5 GB 5 hours ago
# qwen2.5:7b 1a2b3c4d5e6f 4.8 GB 1 week ago
你看,表格里清晰显示了模型名称、ID、大小和最后修改时间。我经常用这个命令检查模型是否下载完整——如果SIZE显示的数字和官方对不上,那八成是下载出问题了。
3.3 删除模型:清理不需要的“包袱”
硬盘空间不够了?或者模型版本太旧?用ollama rm命令删除。
# 删除指定模型
ollama rm llama3.2:1b
# 删除整个模型(所有标签)
ollama rm llama3.2
# 确认删除(会提示你确认)
ollama rm qwen2.5:7b --force
我曾经犯过一个错误:删除了llama3.2,以为只删除了默认标签,结果所有版本都被删了。后来我才知道,ollama rm如果不指定标签,会删除整个模型的所有版本。
ollama list确认一下。
3.4 模型标签管理:给模型打上“身份牌”
标签(Tag)是Ollama管理模型版本的核心机制。说白了,就是给同一个模型的不同版本起个名字。
# 查看模型的所有标签
ollama show llama3.2
# 输出示例:
# Name: llama3.2
# Tags:
# :1b (默认标签)
# :7b
# :70b
# :latest (指向70b)
# 创建自定义标签(复制模型)
ollama cp llama3.2:7b llama3.2:my-custom-version
# 删除特定标签
ollama rm llama3.2:my-custom-version
标签管理在实际项目中特别有用。我记得有一次,团队需要同时测试7B和70B版本的效果。我用标签区分:llama3.2:test-7b和llama3.2:test-70b,这样切换起来非常方便。
3.5 模型运行与交互:让模型真正“干活”
模型下载好了,怎么用?两种方式:命令行交互和API调用。
3.5.1 命令行交互模式
# 直接运行模型(进入交互模式)
ollama run llama3.2:7b
# 进入后,你可以直接对话
# >>> 你好,请介绍一下你自己
# 我是Llama 3.2,一个开源大语言模型...
# 退出交互模式
# /bye
交互模式适合快速测试。我经常用它来验证模型是否正常工作——比如问个简单问题,看回答是否合理。
3.5.2 单次问答模式
# 直接传入提示词
ollama run llama3.2:7b "请用一句话解释什么是机器学习"
# 输出:
# 机器学习是让计算机通过数据学习规律,而不需要显式编程的技术。
这种方式适合脚本调用。我在自动化测试里就经常用这个模式,批量跑几百个问题,检查模型效果。
3.5.3 API调用模式
Ollama默认启动一个HTTP服务,端口11434。你可以用任何语言调用它。
# 启动Ollama服务(后台运行)
ollama serve
# 用curl调用
curl http://localhost:11434/api/generate -d '{
"model": "llama3.2:7b",
"prompt": "请用一句话解释什么是深度学习",
"stream": false
}'
API模式是生产环境的首选。我做过一个聊天机器人项目,就是用Python的requests库调用Ollama API,配合Flask搭建的Web服务。
stream: true参数。这样模型会边生成边返回结果,用户体验会好很多。我在实时对话系统里就强制开启流式输出。
3.6 知识体系总览
下面这张图帮你理清模型管理的核心流程:
这张图展示了模型管理的完整闭环:下载→查看→管理标签→运行交互。删除操作是个分支,但也是日常管理的一部分。我建议你按照这个流程走一遍,很快就能上手。
3.7 避坑指南
最后,分享几个我踩过的坑:
- 下载中断怎么办?我曾经下载70B模型到90%时网络断了。别慌,重新执行
ollama pull,它会断点续传。 - 模型跑不起来?检查一下Ollama服务是否启动。用
ollama serve启动后,再ollama run。 - 标签搞混了?用
ollama show查看所有标签,确认后再操作。我一般会在标签名里加日期,比如llama3.2:2024-01-15。 - 硬盘空间不够?用
ollama rm清理不需要的模型。我每个月都会清理一次,把旧版本删掉。
好了,模型管理这块就讲完了。你按照上面的步骤操作一遍,基本就能掌握Ollama的日常使用了。记住,多实践、多踩坑,经验就是这么积累起来的。
公众号:蓝海资料掘金营,微信deep3321