Llama 3.2-Vision本地运行
Ollama 刚刚放出了对 Llama 3.2-Vision 的支持!这让人想起了新游戏发布带来的兴奋感——我期待着探索 Ollama 对 Llama 3.2-Vision 的支持。该模型不仅在自然语言理解方面表现出色,而且可以无缝处理图像,最好的部分是什么?它是免费的,专为边缘 AI 设计。
在这篇文章中,我将指导你将 Ollama 升级到 0.4.0 版,提供一个动手演示来帮助你在系统上运行 Llama 3.2-Vision,并讨论该模型的特殊之处以及它如何有可能彻底改变边缘 AI。
0、有什么重大意义?
Llama 3.2-Vision 为最令人兴奋的语言模型之一带来了视觉功能,使其能够同时处理文本和图像。
- 多模态功能:Llama 3.2-Vision 处理文本和图像,这对边缘 AI 应用程序至关重要。
- 实时处理:针对边缘设备进行了优化,无需依赖云即可实现即时响应。
- 增强隐私和降低成本:本地处理将敏感数据保留在设备上并降低云费用。
- 易于部署:Ollama 的用户友好设置简化了多模式 AI 实施,即使对于没有深厚 AI 专业知识的开发人员也是如此。
- 边缘优化:非常适合机器人、AR 和医疗保健等现实世界的应用,其中实时图像理解是关键。
1、将 Ollama 升级到 0.4.0
要解锁 Llama 3.2-Vision 的强大功能,你需要将 Ollama 升级到 0.4.0 版本。操作方法说明在这里,简述如下:
- 下载最新版本。前往 Ollama 的 GitHub 页面并下载版本 0.4.0。这是一个预发布版本,因此请选择适合你系统的资产,例如,macOS 请选择“Ollama-darwin.zip”。
- 运行应用程序。下载文件后,运行应用程序。
- 验证安装。通过运行以下命令检查更新是否成功:
ollama --version
#ollama version is 0.4.0-rc3
你应该看到版本 0.4.0-rc3 作为输出。
注意:版本 0.4.0-rc3 是预发布版本,因此请务必留意未来的稳定版本。
2、安装 Llama 3.2 Vision 模型
现在已经更新了 Ollama,让我们来提取 Llama 3.2-Vision 模型。使用以下命令:
ollama run x/llama3.2-vision:11b
11b 指的是该模型的 110 亿参数版本,可确保视觉任务的高精度。
你可以通过运行以下命令来验证安装:
ollama list
输出应显示:
NAME ID SIZE MODIFIED
x/llama3.2-vision:latest 2*****6a29 7.9 GB * hours ago
3、运行 Llama 3.2-Vision
让我们进入最有趣的部分 — 在图像上运行 Llama 3.2-Vision 模型。
以下是如何从命令行界面 (CLI) 正确执行此操作:
ollama run x/llama3.2-vision:latest "describe this image: /Users/../images/Gryffindor_ClearBG.png"
将 /Users/../images/Gryffindor_ClearBG.png
替换为你选择的图像路径。模型将分析图像并根据其理解提供响应。
输出如下:
The image appears to be a logo or emblem for the Hogwarts house Gryffindor. It features a bold, red and gold color scheme, which are the traditional
colors associated with Gryffindor. The design is simple yet striking, with the words "Gryffindor" in a curved line above a lion's head, which is a common
symbol of bravery and courage - values that Gryffindor house embodies.
此示例展示了模型识别对象及其符号含义的能力。
4、使用 Python 与 Llama 3.2-Vision 集成
为了使用 Python 中的 Ollama 集成 Llama 3.2-Vision 的图像处理功能,这里有一个实际示例,您将图像转换为 base64 格式并将其发送到模型进行分析。Python 代码片段展示了如何使用 Pillow (PIL) 库将图像转换为 base64,然后利用 Ollama 的聊天功能来解释图像。
from PIL import Image
import base64
import io
def image_to_base64(image_path):
# Open the image file
with Image.open(image_path) as img:
# Create a BytesIO object to hold the image data
buffered = io.BytesIO()
# Save the image to the BytesIO object in a specific format (e.g., PNG)
img.save(buffered, format="PNG")
# Get the byte data from the BytesIO object
img_bytes = buffered.getvalue()
# Encode the byte data to base64
img_base64 = base64.b64encode(img_bytes).decode('utf-8')
return img_base64
# Example usage
image_path = '/Users/../images/Gryffindor_ClearBG.png' # Replace with your image path
base64_image = image_to_base64(image_path)
在这种情况下处理图像时,Base64 编码至关重要,因为它允许将图像数据直接嵌入到请求中。在此示例中,我们将 base64 编码的图像传递给模型,以使用模型的文本和视觉功能识别其中的内容。此设置演示了 Llama 3.2-Vision 如何无缝处理基于图像的查询。
获得 base64 编码的图像后,它会与查询一起发送到模型进行解释。
# Use Ollama to analyze the image with Llama 3.2-Vision
response = ollama.chat(
model="x/llama3.2-vision:latest",
messages=[{
"role": "user",
"content": "Describe this image?",
"images": [base64_image]
}],
)
# Extract the model's response about the image
cleaned_text = response['message']['content'].strip()
print(f"Model Response: {cleaned_text}")
在响应中,模型返回处理后的结果,例如识别提供的任何视觉数据的内容。
5、结束语
借助 Llama 3.2-Vision,Meta 在边缘 AI 方面迈出了一大步,使设备比以往任何时候都更智能、更强大。无论您是 AI 研究人员、AI 开发人员,还是只是喜欢尝试最新技术的人,此版本都开辟了令人兴奋的新可能性。
如果你还没有升级并使用 Llama 3.2-Vision,请按照上述步骤立即升级和使用。准备好惊叹于您在边缘 AI 上可以取得的成就吧!
原文链接:How to Run Llama 3.2-Vision Locally With Ollama: A Game Changer for Edge AI
BimAnt翻译整理,转载请标明出处