Ollama 近期正式更新了 Llama 3.2 Vision 的支持,这意味着我们可以在本地轻松部署具备视觉理解能力的模型。这次更新不仅支持拖拽图片识别,还展示了其在 OCR、手写体及图表分析上的能力。本文将带你了解模型规格、环境部署,并演示如何结合 LocalGPT-Vision 搭建一套完整的视觉 RAG 系统。
模型规格与硬件要求
Llama 3.2 Vision 目前提供 11B 和 90B 两个版本。选择 90B 参数版时,模型文件大小约为 55GB,而 11B 版本则轻量许多。显存需求方面:
- 11B 版本:至少需要 8GB VRAM
- 90B 版本:至少需要 64GB VRAM
当然,如果你资源有限,也可以考虑使用量化版本来降低门槛。
环境部署与基础测试
安装前请确保 Ollama 已更新至最新版本。如果你是通过 Docker 安装的,建议删除旧容器后重新拉取镜像,否则可能无法成功下载新的视觉模型。
ollama pull llama3.2-vision
对于 Linux 用户,如果遇到网络问题导致下载失败,可能需要检查代理设置或网络环境。
Python 库调用示例
我们可以直接使用 ollama Python 库进行测试。通过本地图像路径向模型提问,例如'这张图片是什么'。
from ollama import chat
import base64
response = chat(
model='llama3.2-vision',
messages=[{
'role': 'user',
'content': '这张图片是什么?',
'images': ['path/to/image.jpg']
}]
)
print(response['message']['content'])
实际运行中,模型能准确描述画面内容,比如识别出'日落、袋鼠和一群鸟',或者回答'这是什么城市'这类地理问题。除了常规场景,它在以下领域表现也不错:
- 手写内容识别:能清晰辨认手写笔记。
- 光学字符识别 (OCR):提取图片中的文字信息。
- 图表和表格:理解数据可视化结构。
- 图片问答:针对细节进行推理。
构建视觉 RAG 系统
接下来进入正题,我们将介绍一个名为 LocalGPT-Vision 的项目。这是一个基于视觉的检索增强生成 (RAG) 系统,允许你与文档对话,利用视觉语言模型实现端到端的处理。
该项目核心逻辑是:使用 ColQwen 或 ColPali 模型进行基于视觉的页面信息检索,将检索到的页面传递给视觉语言模型(如 Ollama Llama Vision)以生成最终响应。
项目安装
首先克隆代码仓库并创建虚拟环境:
conda create -n rag-env python=3.10
conda activate rag-env
pip install -r requirements.txt
启动主应用程序:
python app.py
这会在本地启动 Flask 服务器,浏览器访问对应 URL 即可看到界面。


