首页 >科技周边 >人工智能 >LLAMA 3.2 90B教程:带有shatlit&groq的图像字幕应用程序

LLAMA 3.2 90B教程:带有shatlit&groq的图像字幕应用程序

Lisa Kudrow
Lisa Kudrow原创
2025-03-01 10:28:09577浏览

META最终通过引入Llama 3.2 11B和90B视觉模型来为Llama生态系统增加了多模式。这两种模型在处理文本和图像方面都表现出色,这使我尝试使用90B版本构建一个项目。

在本文中,我将分享我的作品,并指导您使用简化的前端和Llama 3.2 90B作为生成字幕的引擎。

为什么使用Llama 3.2 90B进行图像字幕应用

Llama 3.2-Vision 90b是一种最先进的多模式大型语言模型(LLM)

>它具有解决视觉推理,图像识别和图像字幕等复杂任务的能力。它已经在大量的60亿个图像文本对的大量数据集上进行了培训。

llama 3.2-Vision是我们应用程序的绝佳选择,因为它支持文本任务的多种语言,尽管英语是与图像相关的应用程序的主要重点。它的关键功能使其成为视觉问题回答(VQA),文档VQA和Image-Text检索等任务的绝佳选择,图像字幕是其出色的应用程序之一。

>让我们探索这些功能如何转化为像图像字幕之类的真实应用程序。

>图像字幕管道

图像字幕是生成汇总图像内容的描述性文本的自动过程。它结合了计算机视觉和自然语言处理,以在语言中解释和表达视觉细节。

传统上,图像字幕需要一条复杂的管道,通常涉及图像处理和语言的单独阶段。标准方法涉及三个主要步骤:图像预处理,特征提取和字幕生成。

图像预处理:图像通常进行调整,标准化和偶尔裁剪,以确保它们符合模型的输入规格。

特征提取:提取视觉特征以识别图像中的对象,场景或相关细节。在大多数模型中,这需要一个单独的视觉模型来解释图像,生成语言模型可以理解的结构化数据。

字幕生成:然后,语言模型使用这些提取的特征来制作连贯的描述,结合了视觉数据中确定的对象,上下文和关系。

>使用Llama 3.2 90b,这个传统上复杂的过程变得更加简单。该模型的视觉适配器将视觉特征集成到核心语言模型中,使其能够直接解释图像并通过简单的提示生成字幕。通过将跨注意层嵌入其体系结构中,Llama 3.2 90B允许用户通过仅提示模型来描述图像,即确定需要单独的处理阶段。这种简单性使更易于访问和高效的图像字幕可以产生自然的描述性标题,从而有效地捕获图像的本质。

图像字幕应用程序的概述

>将Llama 3.2 90B的力量栩栩如生,我们将使用简化的前端构建一个简单而有效的图像字幕应用程序,并构建用于生成字幕的GROQ。

>该应用程序将允许用户上传图像并接收模型生成的描述标题,仅需单击两次。此设置非常适合用户友好,需要最少的编码知识才能开始。

我们的应用程序将包含以下功能:

标题:一个突出显示的标题,Llama字幕,以建立应用程序的目的。

>上传按钮:一个从用户设备上传图像的接口。>
    生成按钮:一个按钮启动字幕生成过程。
  1. >
  2. >字幕输出:该应用将直接在接口上显示生成的字幕。
  3. 我们的Llama 3.2 90B应用程序的代码实现
  4. groq API将充当用户上传图像和Llama 3.2视频模型之间的桥梁。如果您想跟随我并与我进行编码,请确保您首先:
  5. >
>通过在GROQ控制台注册来获取您的GROQ API密钥。

>将您的API密钥保存在A

> recreterentials.json

文件中以简化访问。
  1. 遵循Groq的“安装和配置”的Quickstart指南。
  2. >下面的此Python代码片段设置了一个简化的应用程序,可以与GROQ API进行交互。它包括:
  3. >用于Web App开发(流线),AI Interactions(GROQ),Image处理(BASE64)和文件操作(OS,JSON)的库库。
  4. >从单独的JSON文件中读取GROQ API键,以获得增强的安全性。>
  5. 定义一个函数,将图像编码为base64格式以进行有效的传输和处理。
>

    >我们通过编写下面的功能继续前进,该功能旨在使用GROQ API生成上传图像的文本描述。这是其功能的故障:
    1. >图像编码:上传的图像被转换为​​基本64编码的字符串。这种格式允许在API请求中轻松传输映像数据。
    2. >
    3. groq API交互:groq客户端的实例化以促进与GROQ服务的通信。制定了聊天完成请求,包括:
    • 一个用户提示:“此图像中有什么?”
    • >
    • base64编码的图像数据,嵌入了数据URI中。指定了Llama-3.2-90B-Vision-Preiview模型来处理图像并生成文本描述。
    1. >字幕提取:从GROQ API响应中提取生成的字幕。返回了首选的消息内容,其中包含标题。
    2. >
    import streamlit as st
    from groq import Groq
    import base64
    import os
    import json
    
    # Set up Groq API Key
    os.environ['GROQ_API_KEY'] = json.load(open('credentials.json', 'r'))['groq_token']
    
    # Function to encode the image
    def encode_image(image_path):
       with open(image_path, "rb") as image_file:
           return base64.b64encode(image_file.read()).decode('utf-8')

    >最后,我们通过简化生成我们的Interactive Web应用程序

    # Function to generate caption
    def generate_caption(uploaded_image):
       base64_image = base64.b64encode(uploaded_image.read()).decode('utf-8')
       client = Groq()
       chat_completion = client.chat.completions.create(
           messages=[
               {
                   "role": "user",
                   "content": [
                       {"type": "text", "text": "What's in this image?"},
                       {
                           "type": "image_url",
                           "image_url": {
                               "url": f"data:image/jpeg;base64,{base64_image}",
                           },
                       },
                   ],
               }
           ],
           model="llama-3.2-90b-vision-preview",
       )
       return chat_completion.choices[0].message.content
    最终的简化应用程序:Llama字幕

    此简化应用程序提供了一个用于图像字幕的用户友好界面。这是其功能的故障:

      >标题和文件上传器:
      该应用显示一个标题:“ Llama Captioner”。
    • >
    • 文件上传器组件允许用户选择图像文件(JPG,JPEG或PNG)。>
    图像显示:
    >上传图像后,应用程序使用St.Image函数显示它。
    • 字幕生成:
    1. 一个按钮,“生成字幕”,触发字幕生成过程。
    单击时,旋转器表示标题正在生成。>
      generate_caption函数被调用以处理上传的图像并获得标题。
    • 成功的生成后,显示了一条成功消息,其后是生成的字幕。
    • >以下片段是在行动中的代码,其中埃迪·霍尔(Eddie Hall)的图像上传以生成标题。令人惊讶的是,它甚至提取了像“最坚强的人”等清晰可见的信息等。
    • >
    结论

    使用Llama 3.2 90B构建图像字幕应用程序,并简化了高级AI如何使艰巨的任务更容易。该项目将强大的模型与一个简单的接口相结合,以创建一个既直观又易于使用的工具。

    > LLAMA 3.2 90B教程:带有shatlit&groq的图像字幕应用程序作为AI工程师,我看到了此类工具的巨大潜力。它们可以使技术更容易访问,帮助人们更好地参与内容,并以更明智的方式自动化流程。

    要继续学习骆驼,我建议以下资源:>
    • >如何在使用Torchchat的Android手机上运行Llama 3.2 1B
    • llama 3.2和Gradio教程:构建一个多模式Web应用
    • llama stack:带有实际示例的指南
    • >微调美洲拉玛3.2并在本地使用:逐步指南
    • llama 3.3:演示项目的分步教程>

以上是LLAMA 3.2 90B教程:带有shatlit&groq的图像字幕应用程序的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn