Ollama + Moondream 轻量级多模态模型实操教程
简介
Moondream 是一个超轻量级的视觉语言模型(VLM),只有 1.7GB,CPU 也能跑!让你在本地就能实现看图说话、视觉问答、OCR 等功能。
环境准备
1. 安装 Ollama
访问 https://ollama.com 下载并安装 Ollama。
验证安装:
bash
ollama --version
2. 拉取 Moondream 模型
bash
ollama pull moondream
下载约 1.7GB,等待完成即可。
实操步骤
方法一:命令行直接使用
准备一张测试图片(比如 test.jpg),然后运行:
bash
ollama run moondream "描述这张图片" --image test.jpg
示例输出:
这张图片展示了一个现代化的工作空间,桌面上放置着一台笔记本电脑,旁边有一杯咖啡和一盆绿植,背景是明亮的窗户。
你也可以问具体问题:
bash
ollama run moondream "图片里有什么动物?" --image test.jpg
方法二:Python 脚本使用
创建 moondream_demo.py:
python
import ollama
def analyze_image(image_path, question="描述这张图片"):
"""
使用 Moondream 分析图片
"""
response = ollama.chat(
model="moondream",
messages=[{
"role": "user",
"content": question,
"images": [image_path]
}]
)
return response["message"]["content"]
if __name__ == "__main__":
# 替换为你的图片路径
image_path = "test.jpg"
# 1. 简单描述
print("=== 图片描述 ===")
print(analyze_image(image_path))
# 2. 特定问题
print("\n=== 特定问题 ===")
print(analyze_image(image_path, "这张图片里有什么值得注意的内容?"))
运行:
bash
pip install ollama
python moondream_demo.py
运行结果示例:
=== 图片描述 ===
图片中展示了一只可爱的橘猫正慵懒地躺在沙发上,眼睛半睁半闭,看起来非常惬意。
=== 特定问题 ===
这张图片值得注意的是猫咪的表情和姿态,显得非常放松,以及它橘白相间的毛色非常漂亮。
进阶:OCR 文本识别
Moondream 还可以识别图片中的文字:
python
import ollama
image_path = "receipt.jpg"
result = ollama.chat(
model="moondream",
messages=[{
"role": "user",
"content": "提取这张图片中的所有文字",
"images": [image_path]
}]
)
print(result["message"]["content"])
总结
| 特性 | 说明 |
|---|---|
| 模型大小 | 1.7GB |
| 硬件要求 | CPU 也能跑,GPU 更快 |
| 核心能力 | 图像描述、视觉问答、OCR、目标检测 |
| 部署方式 | Ollama 一键运行 |
就这么简单!5 分钟就能在本地跑起多模态模型了!