很多人装完 Ollama,顺手 ollama pull 一个带 image 字样的模型名,结果发现要么拉不到,要么拉下来只会吐文字。这篇不讲模型好不好看,只解决一件事:在 Windows 上想用 Ollama 出图,哪些路走得通、哪些是误会,以及真跑起来前该按什么顺序试。
很多人装完 Ollama,第一反应就是去搜一个带 image 字样的模型名,然后 ollama pull 一把梭。结果要么提示找不到模型,要么拉下来之后发现它只会对着你的话回文字,根本不出图。这篇不讲哪个模型画得好看,只解决一个问题:Windows 上想用 Ollama 出图,哪些路走得通、哪些纯属误会,以及真动手之前该按什么顺序试。
先把预期摆正:你想要的是「输入文字、输出图片」,而你在 Ollama 仓库里看到的多数带视觉字样的东西,干的是「输入图片、输出文字」。方向正好相反。搞清楚这一点,后面选工具、排错都不会白费力气。
先认清 Ollama 的定位:它到底管不管出图
Ollama 的主线一直很明确:把开源语言模型拉下来、跑起来、开一个本地接口给别的程序调用。图像生成从来不是它的核心路径,也不是它仓库结构围绕的方向。你可以把它理解成「本地语言模型管理器」,而不是「本地画图工具」。
它的模型库里确实有少数带视觉能力的条目,但绝大多数是「看图说话」的理解类模型,输入是图、输出是文字。判断一个模型属于哪类,只看一件事:输入是文字、输出也是文字,那是理解类;输入文字、输出图片,那才是生成类。Ollama 覆盖的主要是前者。
| 你可能看到的模型类型 | 输入 | 输出 | 能不能按文字出图 |
|---|---|---|---|
| 聊天/推理语言模型 | 文字 | 文字 | 不能 |
| 视觉理解模型 | 图片 + 文字 | 文字 | 不能 |
| 扩散类生成模型 | 文字 | 图片 | 能,但通常不在 Ollama 里 |
| 多模态助手类 | 图片 + 文字 | 文字(偶尔带图) | 基本不能,且不稳定 |
Windows 上出图的两条现实路线
既然 Ollama 本身不负责出图,那 Windows 用户实际能走的路就两条。路线一:Ollama 只负责语言部分,出图交给专门的扩散模型工具,两边用本地接口串起来。路线二:干脆绕开 Ollama,直接用 Windows 上成熟的扩散模型运行环境出图,Ollama 留给对话和提示词打磨。
| 对比项 | 路线一:Ollama + 出图工具 | 路线二:纯出图环境 |
|---|---|---|
| 要维护几套环境 | 两套,需要打通接口 | 一套,装完就能画 |
| 提示词改写 | 可以在 Ollama 里多轮打磨 | 靠出图工具自带的提示词框 |
| 适合的人 | 想在对话里顺手改词再出图 | 只想快速验证出图效果 |
| 主要麻烦 | 接口和端口配置、两边版本要对上 | 没有语言模型辅助,提示词全靠手写 |
选哪条,先问自己一个问题:你是要「一句话出图」,还是「多轮改提示再出图」?前者路线二更省事,后者路线一体验更顺。别一上来就两套全装,先把一条跑通再说。
怎么核对你要的模型是不是生成类
筛选模型时别只看名字里有没有 image、diffusion 这类词,名字会骗人。要看的是它的输入输出字段:如果只能接受文本、只返回文本,那就别指望它出图。还要看模型卡片里有没有明确提到图像是输出产物,以及它是否依赖额外的图像解码组件。
- 第一步:看输入输出打开模型说明,确认输出类型是图片文件还是文字。只返回文字的直接划掉。
- 第二步:看依赖出图模型通常要配套的图像解码组件,只有文本权重的基本可以排除。
- 第三步:站内对照到 /models 和 /ai-nav/category/ai-image 对照一圈,把理解类和生成类分开列个清单。
- 第四步:小规模试拿不准的先小规模跑一次,用固定提示词看返回的是文字还是文件,别一上来就下大体积权重。
这套核对顺序不适用于一种情况:你已经确定只用本地语言模型做提示词辅助,出图完全交给别的工具。那种情况下,你不需要判断 Ollama 里的模型能不能出图,只需要判断它懂不懂你的描述。
Windows 上的环境与目录:装之前先腾地方
Windows 上最容易翻车的不是模型选错,是装到一半发现盘满了、或者驱动版本对不上。动手前先做三件事:定目录、对驱动、腾磁盘。Ollama 的模型目录可以通过环境变量改到数据盘,别让权重全落在系统盘,系统盘一满,连服务都可能起不来。
- 确定模型存放目录,用环境变量把 Ollama 的模型路径指到空间大的盘。
- 核对显卡驱动和运行库版本,和你打算跑的那套出图环境对齐,混装多套环境最容易在这里出问题。
- 磁盘预留按权重体积乘个系数留,扩散模型加上文本编码器,占用通常比你只跑语言模型更大。
- 内存和显存都要看:显存吃紧时能不能回退到内存跑,取决于你选的那套环境支不支持。
- 重装系统前先把成功跑通的配置写下来,驱动版本、目录、启动参数一个都别漏。
显存怎么估、量化档位怎么挑
估显存的时候,别只盯着模型参数量,按你打算用的分辨率和工作流来估更准。分辨率往上抬一档,对显存的影响往往比参数量变化更直接。同一张卡,换个工作流可能就从跑得动变成跑不动。
量化档位本质是拿画质换显存的操作。同一个提示词,不同档位下的细节表现会有肉眼可见的差别。合理的做法是先固定一个档位,把其他变量调顺,再回头换档位看差异。显存不够时的降级顺序是:先降分辨率,再减批量,然后换更低量化档,最后才考虑换卡。
| 显存紧张时的动作 | 代价 | 什么时候值得做 |
|---|---|---|
| 降分辨率 | 细节变少、小物体糊 | 只是想先验证流程能不能跑通 |
| 减批量 | 出图更慢、不能一次多张 | 单张够用、不追求批量 |
| 换更低量化档 | 画质有可见下降 | 显存卡在临界值,差一点点 |
| 换卡 | 要花钱 | 长期高频出图,前面几步都试过 |
具体档位对应的显存占用,到 /models/deploy 和 /compute/sizing 按当时的数值算一遍,别照搬别人网上贴的配置。别人的卡、别人的驱动、别人的工作流,数字对不上很正常。
一次跑通的排查顺序
最忌讳的是同时装两套环境、同时改好几个设置,然后一出错完全不知道是哪一步的问题。稳妥的做法是分步验证,每步单独跑通再往下接。
- 第一步:Ollama 服务本身确认本地接口能通,随便找个语言模型正常对话。这一步不通,后面全是白搭。
- 第二步:单独跑通出图环境不经过 Ollama,直接用出图工具画一张。这一步是为了排除显卡驱动和依赖问题。
- 第三步:接上 Ollama只让它做提示词理解和改写,出图步骤保持独立可测,别把两件事揉成一个脚本。
- 第四步:倒着查错出错时按「出图环境 → 接口 → Ollama → 提示词」的顺序倒着查,一次只改一个变量。
这套顺序不适用于你已经有一套稳定跑着的配置、只是换个模型试效果的情况。那种时候你直接换权重就行,不必从头再走一遍。
什么情况下这条路不值得走
不是所有人都该在 Windows 上折腾本地出图。下面几种情况,直接用在线的图像模型反而更省事,本地这套维护成本划不来。
- 只偶尔出几张图、还追最新画质:在线图像模型更新更快,本地追不上。
- 机器是轻薄本、核显或者显存很小:跑得动也多半慢到没法用,不如把 Ollama 留给文本任务。
- 团队要多人共用一台机器出图:并发和排队问题会盖过模型本身的表现。
- 需要稳定可复现的批量出图流程:本地环境的版本漂移是主要风险,每次更新都要重新验证。
- 你只是想要一张能用的图,不在乎是不是本地跑:这时候本地没有优势。
判断标准说白了就一条:你出图的频率和稳定性要求,值不值得你花时间维护这套环境。值就上,不值就别硬撑。
跑通之后怎么确认它真的在干活
跑通了不等于跑对了。建议从第一次成功开始就记录你的提示词、分辨率、量化档位和耗时,形成自己的对照表。换档位的时候,你才知道到底差在哪,而不是凭感觉说「好像变糊了」。
横向比较时,用同一提示词、同一分辨率去比不同模型或不同档位,输入统一了,结果才有可比性。可以用站内 /tools/pelican-bench 的方式做统一输入对比,别每个模型喂不一样的词,那样比出来的结论没有意义。
下一步如果你正在挑本地出图的路子,先去站内模型库核对哪些条目真的以图像为输出,再用算力页面按你的卡估算显存,别照着别人的配置下单。→常见问题
Ollama 到底支不支持文生图?
它的主线是语言模型推理,仓库里以文本和视觉理解类模型为主,直接按提示词生成图片不是它的标准能力。要在 Windows 上出图,通常是让 Ollama 管提示词、出图交给另外一套扩散模型环境。
为什么我 pull 了一个带 image 名字的模型,它只会输出文字?
名字里的 image 大多指它能看懂图片,也就是图片作为输入、文字作为输出,跟你想要的「文字变图片」是反的。判断方法是看模型的输入输出方向,别只看名字。
显存不够还能在 Windows 上出图吗?
可以试,但要按顺序让步:先降分辨率,再减批量,然后换更低的量化档位,最后才考虑换硬件。降档会牺牲细节,适合先跑通流程再逐项调回来。具体档位对应多少显存,到站内 /models/deploy 按当前数据算。
Ollama 和出图工具一定要装在同一台机器上吗?
不一定要。只要两边能通过网络访问本地接口,可以分开部署,这样出图那台可以专心吃显卡,Ollama 那台管提示词和理解任务,排查问题时也更容易隔离故障。
这条路适合什么样的人?
适合已经有一块像样的显卡、愿意花时间调环境、并且对数据不出本机有要求的人。只想快速出图或者机器配置一般的话,用在线图像服务更省事,本地这套维护成本不低。