当前位置: 首页 > article >正文

Llama 3.2-Vision 多模态大模型本地运行教程

Ollama 刚刚放出了对 Llama 3.2-Vision 的支持!这让人想起了新游戏发布带来的兴奋感——我期待着探索 Ollama 对 Llama 3.2-Vision 的支持。该模型不仅在自然语言理解方面表现出色,而且可以无缝处理图像,最好的部分是什么?它是免费的,专为边缘 AI 设计。

在这篇文章中,我将指导你将 Ollama 升级到 0.4.0 版,提供一个动手演示来帮助你在系统上运行 Llama 3.2-Vision,并讨论该模型的特殊之处以及它如何有可能彻底改变边缘 AI。

NSDT工具推荐: Three.js AI纹理开发包 - YOLO合成数据生成器 - GLTF/GLB在线编辑 - 3D模型格式在线转换 - 可编程3D场景编辑器 - REVIT导出3D模型插件 - 3D模型语义搜索引擎 - AI模型在线查看 - Three.js虚拟轴心开发包 - 3D模型在线减面 - STL模型在线切割 - 3D道路快速建模 

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 模型。

Source: Harry Potter Wiki

以下是如何从命令行界面 (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 上可以取得的成就吧!


原文链接:Llama 3.2-Vision本地运行 - BimAnt


http://www.kler.cn/news/367208.html

相关文章:

  • 系统聚类比较——最短距离法、最长距离法、重心法和类平均法
  • 【LeetCode:263. 丑数 + 数学】
  • 图层之间的加减法
  • 【C】用c写贪吃蛇
  • 通过rancher2.7管理k8s1.24及1.24以上版本的k8s集群
  • AutoSar AP CM服务接口级别的数据类型总结
  • 中国人寿财险青岛市分公司:科技赋能,车险服务再升级
  • QThread finished Qt::DirectionConnection可能导致start()不会返回的问题
  • ️ Vulnhuntr:利用大型语言模型(LLM)进行零样本漏洞发现的工具
  • 【微服务】Java 对接飞书多维表格使用详解
  • 数据分析人员需要掌握sql到什么程度?
  • PHP写一个二维数组排序算法函数可以调用PHP内置函数
  • 【Linux | 网络I/O模型】五种网络I/O模型详解
  • Docker下载途径
  • 【Windows】电脑端口明明没有进程占用但显示端口被占用(动态端口)
  • 正则表达式使用举例一(Python下)
  • 220V降12V1A恒流点灯WT5112
  • 论文笔记(五十一)Challenges for Monocular 6-D Object Pose Estimation in Robotics
  • mysql8数据库备份
  • 合合信息:生成式Al时代的内容安全与系统构建加速,开启智能文档的全新潜能
  • 算法设计与分析——动态规划
  • FPGA学习(7)-线性序列机原理与应用,不同类型的LED控制开关
  • 《复旦学报(自然科学版)》
  • DataSophon集成ApacheImpala的过程
  • 深度学习:神经元(Neuron):人工神经网络中的基本单元
  • Java | Leetcode Java题解之第514题自由之路