关键要点
- 多模态支持于Ollama v0.1.15(2023年12月12日)加入;2026年5月重构为专门的多模态引擎。
- 目前已核实列出的视觉模型:LLaVA(含llava-llama3、llava-phi3、bakllava)、Llama 3.2 Vision、Qwen2.5-VL、MiniCPM-V、Moondream、Granite 3.2 Vision、Gemma 3、Llama 4、Mistral Small 3.1。
- CLI:直接在
ollama run的提示词文本中引用图像文件路径——无需单独参数。 - HTTP API:
/api/generate和/api/chat都接受在images数组中放入base64编码图像,这在Ollama自己的docs/api.md中有文档说明。 - Ollama仅用于推理:它运行模型,但不对其进行微调或训练。
- 自Ollama于2023年年中诞生以来一直基于llama.cpp构建(GitHub仓库创建于2023年6月26日,采用MIT许可);现在还支持在Apple Silicon上以Apple的MLX作为替代后端。
📍 简单一句话
Ollama自2023年12月的0.1.15版本起支持在本地运行具备视觉能力(多模态)的模型,目前其模型库中列出了LLaVA、Llama 3.2 Vision、Qwen2.5-VL、MiniCPM-V、Moondream、Granite 3.2 Vision、Gemma 3、Llama 4和Mistral Small 3.1,并同时支持简单的CLI(在提示词中引用图像文件路径)和HTTP API(在JSON的images数组中放入base64编码图像)。
💬 简单来说
Ollama是一款让你只用一条命令就能在自己电脑上下载并运行AI模型的工具,其中一些模型还能识别图片并回答关于图片的问题——本指南展示了实现这一点的实际命令和API调用方式。
📌注: 以上模型列表反映了PromptQuorum在撰写本评测时于ollama.com/library上实时核实的内容。Ollama的模型库会发生变化;在依赖某个模型之前请核实其当前上架状态——具体核实过的模型库网址见资料来源部分。
历史:Ollama、llama.cpp与多模态支持
**Ollama的GitHub仓库创建于2023年6月26日**,采用MIT许可证。它将面向GGUF格式模型的C/C++推理引擎llama.cpp封装在类似Docker的命令行界面和本地HTTP API之后——其核心价值在于,ollama run llama3就能下载并运行一个模型,而无需用户直接管理依赖项、GPU驱动或底层推理引擎。
**多模态(图像输入)支持于2023年12月12日发布的Ollama v0.1.15中加入**,LLaVA是第一个受支持的视觉模型。发布说明中描述了运行ollama run llava后直接在交互式提示符中输入图像文件路径的方法,以及在/api/generate HTTP端点新增的images参数,该参数接受最大100MB的base64编码PNG或JPEG图像。
Ollama大约在2026年5月将多模态支持重构为专门的多模态引擎,据Ollama自己的博客介绍,该更新为Llama 4、Gemma 3、Qwen2.5-VL、Mistral Small 3.1等较新模型系列加入了一流的视觉支持——针对图像分辨率、位置元数据和注意力机制采用了逐模型处理方式,而不是原本LLaVA集成所用的更通用方式。同一次更新还为Apple Silicon上的多模态模型带来了通过llama.cpp后端实现的Metal GPU卸载。
Ollama主要运行在llama.cpp后端上,并另外支持Apple的MLX框架作为Apple Silicon硬件上的替代后端,部分较新的多模态模型可借此在Mac上获得更好的性能。
Ollama是何时加入视觉模型支持的?
Ollama在2023年12月12日发布的0.1.15版本中加入了多模态(图像输入)支持,LLaVA是第一个受支持的视觉模型。大约在2026年5月,它将其重构为专门的多模态引擎,以支持Llama 4、Gemma 3、Qwen2.5-VL、Mistral Small 3.1等较新的模型系列。
Ollama模型库中实际有哪些视觉模型
PromptQuorum在撰写本评测时,在ollama.com/library上逐一核实了以下模型——该列表反映的是今天实际可以下载的模型,而不是对可能已打包、也可能未打包进Ollama的视觉语言模型的泛泛调查。
llava-llama3 / llava-phi3 / bakllava
- 开发者:
- 社区变体
- 备注:
- 基于不同基座LLM微调的LLaVA架构模型
llama3.2-vision
- 开发者:
- Meta
- 备注:
- 11B和90B两种规格;通用图像问答能力较强
qwen2.5vl
- 开发者:
- 阿里巴巴(Qwen团队)
- 备注:
- 3B/7B/32B/72B;OCR与文档理解能力较强
qwen3-vl
- 开发者:
- 阿里巴巴(Qwen团队)
- 备注:
- 2B至235B;比qwen2.5vl更新,上下文最高达256K,是本表中OCR/视觉智能体能力最强的选择
minicpm-v
- 开发者:
- OpenBMB
- 备注:
- 约8B、约5.5GB;在低VRAM下OCR能力较强,支持多图输入
moondream
- 开发者:
- 独立开发者(Vikhyat K.)
- 备注:
- 1.8B、约1.7GB;本表中体积最小的选项,适合轻量/边缘场景
granite3.2-vision
- 开发者:
- IBM
- 备注:
- 约2.4GB;针对表格、图表、信息图等视觉文档分析进行了调优
gemma3
- 开发者:
- 备注:
- 4B/12B/27B规格具备多模态能力(270M和1B仅支持文本)
llama4
- 开发者:
- Meta
- 备注:
- 混合专家架构,原生多模态;下载体积较大(67GB以上)
mistral-small3.1
- 开发者:
- Mistral AI
- 备注:
- 24B、约15GB;Apache-2.0许可,视觉与文本兼具
Ollama的模型库更新很快:自本文其余部分撰写以来,qwen3-vl已作为比qwen2.5vl更新、更强的Qwen视觉模型选项(上下文最高达256K)加入。以下模型截至本次评测尚未确认在Ollama模型库中拥有独立页面,尽管在其他地方被提及为视觉模型:qwen2-vl(已被qwen2.5vl取代),以及独立的llava-next条目(LLaVA-NeXT/1.6的改进已并入llava本身的条目)。在依赖某个具体模型名称之前,请始终直接核查ollama.com/library/<名称>——本表只是某一时刻的快照,而非实时数据源。
下载并运行视觉模型:分步说明
本流程以LLaVA为例,但同样的步骤适用于上表中的任何模型。
- 1安装Ollama。
Why it matters: 为macOS、Linux或Windows下载[Ollama](https://ollama.com)。安装过程是标准的安装程序/软件包形式,耗时不到两分钟。 - 2下载一个视觉模型。
Why it matters: 运行`ollama pull llava`(或`ollama pull qwen2.5vl`、`ollama pull minicpm-v`等)——这会下载模型权重,大小从不到2GB(Moondream)到数十GB(Llama 4)不等。 - 3在提示词中引用图像并运行。
Why it matters: 运行`ollama run llava "describe this image: ./photo.jpg"`。Ollama会检测提示词文本中的`.jpg`/`.png`文件路径,并自动附加该图像——这一模式自2023年12月的v0.1.15版本以来一直有效。 - 4或者直接调用HTTP API。
Why it matters: 向`http://localhost:11434/api/generate`或`/api/chat`发送POST请求,在`images`数组中放入base64编码的图像——确切的JSON格式记录在Ollama自己的[docs/api.md](https://github.com/ollama/ollama/blob/main/docs/api.md)中,下方的使用示例部分也有展示。 - 5(可选)使用官方客户端库。
Why it matters: 官方的`ollama` Python和JavaScript库可以直接接受图像文件路径,并替你处理base64编码,避免在脚本中手动编码。
真实使用示例:CLI与HTTP API
以下示例直接取自Ollama自己的文档以及经过核实的请求/响应格式——并非凭空编造的语法。
- CLI中不存在单独的图像参数。 Ollama会检测提示词文本本身中包含的
.jpg/.png等文件路径,并自动附加该图像。 /api/generate使用prompt;/api/chat使用messages。** 两者都接受一个由base64编码字符串组成的images数组;/api/chat支持多轮对话,可为单条消息附加图像。
# 通过CLI下载并运行——在提示词中直接引用图像路径
ollama pull llava
ollama run llava "describe this image: ./photo.jpg"
# --- HTTP API: /api/generate (记录于Ollama的docs/api.md) ---
curl http://localhost:11434/api/generate -d '{
"model": "llava",
"prompt": "What is in this picture?",
"stream": false,
"images": ["<base64-encoded image data>"]
}'
# --- HTTP API: /api/chat (多轮对话,同样记录于docs/api.md) ---
curl http://localhost:11434/api/chat -d '{
"model": "llava",
"messages": [
{ "role": "user", "content": "What is in this image?", "images": ["<base64-encoded image data>"] }
]
}'
# --- Python: 官方ollama库(自动处理base64编码) ---
import ollama
response = ollama.chat(
model="llava",
messages=[{
"role": "user",
"content": "What is in this image?",
"images": ["photo.jpg"],
}],
)
print(response["message"]["content"])
# --- Python: 手动base64编码调用原始HTTP API ---
import base64
import requests
def ask_vision_model(image_path: str, prompt: str, model: str = "llava") -> str:
with open(image_path, "rb") as f:
image_b64 = base64.b64encode(f.read()).decode("utf-8")
response = requests.post(
"http://localhost:11434/api/generate",
json={"model": model, "prompt": prompt, "images": [image_b64], "stream": False},
)
return response.json()["response"]VRAM与硬件指南
Ollama自己的模型库页面列出了每个模型的下载体积,这可以合理地作为量化模型运行所需VRAM或RAM的参考——PromptQuorum没有找到除这些逐模型下载体积之外、由Ollama单独发布的权威VRAM表。
模型 | 大致体积 | 实用最低要求 |
|---|---|---|
| Moondream | 约1.7GB | 4GB VRAM/在配置较低的硬件上也能运行 |
| Granite 3.2 Vision | 约2.4GB | 4-6GB VRAM |
| LLaVA 7B / MiniCPM-V | 约4.7-5.5GB | 6-8GB VRAM |
| Llama 3.2 Vision 11B / Qwen2.5-VL 7B | 约6-8GB | 8-10GB VRAM |
| Mistral Small 3.1 | 约15GB | 16-24GB VRAM |
| LLaVA 34B / Qwen2.5-VL 32B | 约20-21GB | 24GB以上VRAM |
| Llama 3.2 Vision 90B / Llama 4 | 约55-67GB以上 | 多GPU或大内存Apple Silicon |
📌注: 这些是大致的下载体积,而非实测的VRAM基准数据——PromptQuorum并未为本文进行自己的硬件测试。如果模型无法容纳进可用VRAM,仍可仅用CPU运行,但速度会慢得多;实际可用的VRAM余量还取决于上下文长度和批处理大小。
Ollama不适合做什么
Ollama是一种在本地运行具备视觉能力模型的可靠且持续更新的方式,但在以下场景中并非合适的工具:
- 对模型进行微调或训练。 Ollama仅用于推理——它运行已训练好的模型权重,不提供训练或微调流程。如果你需要在自己的数据上微调一个视觉语言模型,需要使用另一套工具链(例如LLaVA原始仓库自带的训练脚本,或Hugging Face Transformers之类的框架)。
- 最前沿的专有多模态能力。 Ollama的模型库围绕开放权重模型构建。截至本次评测,GPT-4o、Claude和Gemini的云端视觉API在复杂场景理解、手写识别和模糊图像方面通常领先于开放的本地模型——Ollama适合以零边际成本进行私有、自托管的图像处理,而不是用来匹配绝对最前沿的技术水平。
- 从图表和曲线图中精确提取数字。 这是底层视觉语言模型本身的局限性,并非Ollama这一运行工具所特有——无论使用哪种模型或运行工具,都应始终将提取出的数字与原始数据进行核对。
- "哪个模型最好"这类问题没有统一答案。 通过Ollama选择哪个视觉模型取决于具体任务:OCR密集型的文档处理适合Qwen2.5-VL,低VRAM下的OCR适合MiniCPM-V,通用图像问答适合Llama 3.2 Vision,而追求最轻量则适合Moondream。按任务给出的详细建议请参见PromptQuorum的本地视觉模型比较。
Ollama视觉模型的替代方案
LM Studio
- 最适合场景:
- 以图形界面为主的本地模型运行工具;已确认在其聊天界面中支持带图像附件的视觉模型
- 许可:
- 免费的专有应用程序
直接使用llama.cpp
- 最适合场景:
- 在不经过Ollama封装层的情况下,对推理(包括llava.cpp风格的多模态支持)拥有最大限度的底层控制
- 许可:
- MIT
LLaVA自身的仓库
- 最适合场景:
- 研究级别的控制、训练/微调脚本——参见PromptQuorum的LLaVA评测
- 许可:
- Apache-2.0(代码);权重文件的许可取决于基座模型
MLC-LLM / MLC Chat
- 最适合场景:
- 跨平台的端侧LLM部署;截至本次评测,PromptQuorum未发现官方文档中有明确认定的视觉语言模型(VLM)支持——在依赖其完成视觉任务前请核实最新状态
- 许可:
- Apache-2.0
云端VLM API(GPT-4o、Claude、Gemini视觉)
- 最适合场景:
- 可获得的最高多模态能力,无需本地硬件或配置
- 许可:
- 专有(付费API)
常见问题
Ollama支持视觉模型吗?
支持。Ollama在2023年12月12日发布的0.1.15版本中加入了多模态(图像输入)支持,并在大约2026年5月将其重构为专门的多模态引擎。截至本次评测,其模型库中列出了LLaVA、Llama 3.2 Vision、Qwen2.5-VL、MiniCPM-V、Moondream、Granite 3.2 Vision、Gemma 3、Llama 4和Mistral Small 3.1作为具备视觉能力的模型。
如何在Ollama中向模型传递图像?
在CLI中,直接在提示词文本中引用图像的文件路径:ollama run llava "describe this image: ./photo.jpg"。不存在单独的--image参数。程序化调用时,按照Ollama自己的docs/api.md,向/api/generate或/api/chat发送POST请求,并在images数组中放入base64编码的图像。
向Ollama的API发送图像的确切JSON格式是什么?
对于/api/generate:`{"model": "llava", "prompt": "...", "images": ["<base64 string>"]}。对于/api/chat:{"model": "llava", "messages": [{"role": "user", "content": "...", "images": ["<base64 string>"]}]}。两者都记录在Ollama的GitHub仓库中的docs/api.md`里。
Ollama模型库目前提供哪些视觉模型?
本次评测核实的结果为:LLaVA(含llava-llama3、llava-phi3、bakllava变体)、Llama 3.2 Vision、Qwen2.5-VL、MiniCPM-V、Moondream、Granite 3.2 Vision、Gemma 3(4B及以上)、Llama 4以及Mistral Small 3.1。由于该列表可能发生变化,请直接查看ollama.com/library确认。
Ollama能否对视觉模型进行微调?
不能。Ollama仅用于推理——它运行已训练好的模型权重,但不提供训练或微调流程。微调需要另一套工具链,例如原始模型自带的训练脚本,或Hugging Face Transformers之类的框架。
Ollama是基于llama.cpp构建的吗?
是的。Ollama将面向GGUF格式模型的C/C++推理引擎llama.cpp,封装在更简单的命令行界面和HTTP API之后。Ollama的GitHub仓库创建于2023年6月26日。它还支持在Apple Silicon上以Apple的MLX框架作为替代后端。
Ollama与GPT-4o或Gemini等云端视觉API相比如何?
Ollama以每次请求零边际成本在本地运行模型,并将图像保留在设备端,但其模型库围绕开放权重模型构建,在复杂场景理解、手写识别和模糊图像方面通常不及专有的云端视觉API。若看重隐私、大规模使用时的成本控制以及离线可用性,选择Ollama;若追求可获得的最高能力,选择云端API。
结论
自2023年12月以来,Ollama一直提供着一种真正简单的方式来本地运行具备视觉能力的模型,而其2026年5月的多模态引擎重构,让这种体验在LLaVA等成熟选项之外,对Llama 4、Gemma 3、Qwen2.5-VL、Mistral Small 3.1等较新模型系列同样保持最新。核心工作流程——先ollama pull,再在提示词中带上图像路径运行ollama run,或使用有文档记录的/api/generate//api/chat HTTP端点——自最初的v0.1.15版本以来一直保持稳定,这对于在其之上进行构建的开发者而言本身就是一个优势。它不是训练工具,也无法匹敌最新的专有云端多模态能力,但对于私有、自托管且边际成本为零的图像理解需求而言,它仍是目前最实用的入门方式之一。若想深入了解某个具体模型,可搭配阅读PromptQuorum的LLaVA评测;若想在整个本地视觉模型格局中按任务选型,可参阅本地视觉模型比较。
资料来源
- Ollama的GitHub仓库 —— 仓库创建日期、许可证及发布历史。
- Ollama v0.1.15发布说明 —— 2023年12月12日,多模态/LLaVA支持的最初公告。
- Ollama面向多模态模型的新引擎 —— 2026年5月的多模态引擎重构,涵盖Llama 4、Gemma 3、Qwen2.5-VL和Mistral Small 3.1。
- Ollama API文档 —— 关于图像处理的
/api/generate和/api/chat有文档记录的请求/响应格式。 - Ollama模型库 —— 用于核实本文所列每个模型的实时模型库,包含llava、llama3.2-vision、qwen2.5vl、minicpm-v、moondream、granite3.2-vision、gemma3、llama4以及mistral-small3.1的独立页面。
