Heim > Technologie-Peripheriegeräte > KI > LAMA 3.2 90B Tutorial: Bildunterschrift -App mit Streamlit & GROQ

LAMA 3.2 90B Tutorial: Bildunterschrift -App mit Streamlit & GROQ

Lisa Kudrow
Freigeben: 2025-03-01 10:28:09
Original
576 Leute haben es durchsucht

Meta hat dem Lama -Ökosystem endlich Multimodalität erweitert, indem die Lama 3.2 11b & 90B Vision -Modelle eingeführt wurden. Diese beiden Modelle zeichnen sich aus, um sowohl Text als auch Bilder zu verarbeiten, was mich dazu veranlasste, ein Projekt mit der 90B -Version zu erstellen.

In diesem Artikel werde ich meine Arbeit weitergeben und Sie durch das Erstellen einer interaktiven Bildunterschrift -App mit Streamlit für das Front -End und Lama 3.2 90b als Motor zum Erstellen von Bildunterschriften führen.

Warum Lama 3.2 90b für eine Bildunterschrift verwendet

LLAMA 3.2-Vision 90b ist ein hochmodernes multimodales großes Sprachmodell (LLM), das für Aufgaben erstellt wurde, die sowohl Bild- als auch Texteingaben betreffen.

Es fällt auf der Fähigkeit auf, komplexe Aufgaben wie visuelles Denken, Bilderkennung und Bildunterschrift anzugehen. Es wurde in einem massiven Datensatz von 6 Milliarden Bild-Text-Paaren trainiert.

Lama 3.2-Vision ist eine gute Wahl für unsere App, da sie mehrere Sprachen für Textaufgaben unterstützt, obwohl Englisch der Hauptaugenmerk auf bildbezogene Anwendungen ist. Seine Schlüsselmerkmale machen es zu einer ausgezeichneten Wahl für Aufgaben wie visuelle Fragenbeantwortung (VQA), Dokument VQA und Bild-Text-Abruf, wobei Bildunterschriften eine seiner herausragenden Anwendungen sind.

Lassen Sie uns untersuchen, wie sich diese Funktionen in eine reale Anwendung wie Bildunterschrift übersetzen.

Bildunterschrift Pipeline

Bildunterschrift ist der automatisierte Prozess der Generierung deskriptiven Textes, der den Inhalt eines Bildes zusammenfasst. Es kombiniert Computer Vision und natürliche Sprachverarbeitung, um visuelle Details in der Sprache zu interpretieren und auszudrücken.

traditionell erforderte Bildunterschriften eine komplexe Pipeline, die häufig separate Phasen für die Bildverarbeitung und Spracherzeugung umfasst. Der Standardansatz umfasst drei Hauptschritte: Bildvorverarbeitung, Merkmalextraktion und Bildunterschrift.
  1. Bildvorverarbeitung: Bilder werden typischerweise geändert, normalisiert und gelegentlich zugeschnitten, um sicherzustellen, dass sie den Eingangsspezifikationen des Modells erfüllen.
  2. Feature -Extraktion: Visuelle Merkmale werden extrahiert, um Objekte, Szenen oder relevante Details im Bild zu identifizieren. In den meisten Modellen erfordert dies ein separates Visionsmodell, um das Bild zu interpretieren und strukturierte Daten zu generieren, die Sprachmodelle verstehen können.
  3. Bildunterschriftengenerierung: Diese extrahierten Merkmale werden dann von einem Sprachmodell verwendet, um eine kohärente Beschreibung zu erstellen und die in den visuellen Daten identifizierten Objekte, Kontext und Beziehungen zu kombinieren.

Mit Lama 3.2 90b wird dieser traditionell komplizierte Prozess einfacher. Der Vision -Adapter des Modells integriert visuelle Merkmale in das Kernsprachenmodell, sodass es Bilder direkt interpretieren und Bildunterschriften durch einfache Eingabeaufforderungen generieren kann.

Durch Einbettung von Querbeachtungsschichten in die Architektur können Benutzer ein Bild beschreiben, indem sie lediglich das Modell auffordern-die Notwendigkeit separater Verarbeitungsstadien. Diese Einfachheit ermöglicht eine zugängliche und effizientere Bildunterschrift, wobei eine einzelne Eingabeaufforderung zu einer natürlichen, beschreibenden Bildunterschrift führen kann, die die Essenz eines Bildes effektiv erfasst.

Überblick über die Bildunterschrift -App

Um die Kraft von Lama 3.2 90b zum Leben zu erwecken, erstellen wir eine einfache und dennoch effektive Bildunterschriftenanwendung mit Streamlit für das Frontend und GROQ zum Erzeugen von Bildunterschriften.

Mit der App können Benutzer ein Bild hochladen und eine beschreibende Bildunterschrift erhalten, die vom Modell mit nur zwei Klicks generiert wird. Dieses Setup ist benutzerfreundlich und erfordert minimales Codierungswissen, um loszulegen.

Unsere Anwendung enthält die folgenden Funktionen:

  1. Titel: Ein prominent angezeigter Titel, Lama -Bildunterschriften, um den Zweck der App festzulegen.
  2. Schaltfläche Upload: Eine Schnittstelle zum Hochladen von Bildern aus dem Gerät des Benutzers.
  3. Schaltfläche Generieren: Eine Schaltfläche zum Einlösen des Bildunterschriftengenerierungsprozesses.
  4. Bildunterschrift Ausgabe: Die App zeigt die generierte Bildunterschrift direkt an der Schnittstelle an.

Code -Implementierung für unsere Lama 3.2 90b App

Die GROQ-API fungiert als Brücke zwischen dem hochgeladenen Bild des Benutzers und dem Lama 3.2-Vision-Modell. Wenn Sie mit mir folgen und mit mir codieren möchten, stellen Sie sicher, dass Sie zuerst:

  1. Erhalten Sie Ihre COQ -API -Taste, indem Sie sich bei der GROQ -Konsole anmelden.
  2. Speichern Sie Ihren API -Schlüssel in einer -Anmeldeinformationen.json , um den Zugriff zu vereinfachen.
  3. Folgen Sie den QuickStart -Handbuch von GROQ zur Installation und Konfiguration.

Dieser Python -Code -Snippet unten richtet eine streamlit -Anwendung ein, um mit der GROQ -API zu interagieren. Es enthält:

  1. importiert Bibliotheken für Web -App -Entwicklung (Streamlit), AI -Interaktionen (GROQ), Bildhandling (Base64) und Dateioperationen (OS, JSON).
  2. liest die CROQ -API -Taste aus einer separaten JSON -Datei für erweiterte Sicherheit.
  3. definiert eine Funktion, mit der Bilder für effiziente Übertragung und Verarbeitung in das Base64 -Format codiert werden können.
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')
Nach dem Login kopieren
Nach dem Login kopieren

Wir schreiben weiter, indem wir die unten stehende Funktion schreiben, mit der eine Textbeschreibung eines hochgeladenen Bildes mit der GROQ -API generiert wurde. Hier ist eine Aufschlüsselung seiner Funktionalität:

  1. Bildcodierung: Das hochgeladene Bild wird in eine base64 codierte Zeichenfolge konvertiert. Mit diesem Format können die Bilddaten einfach innerhalb der API -Anforderung übertragen werden.
  2. COQ -API -Interaktion: Ein GROQ -Client wird instanziiert, um die Kommunikation mit dem GROQ -Dienst zu erleichtern. Eine Chat -Abschlussanforderung wird formuliert, darunter:
  • Eine Benutzeraufforderung: "Was ist in diesem Bild?"
  • Die base64 codierten Bilddaten, eingebettet in einen Daten -URI. Das Lama-3.2-90b-Vision-Präview-Modell wird so angegeben, dass das Bild verarbeitet und eine Textbeschreibung erstellt wird.
  1. Bildunterschrift Extraktion: Die erzeugte Bildunterschrift wird aus der GROQ -API -Antwort extrahiert. Der Nachrichteninhalt der ersten Wahl, der die Bildunterschrift enthält, wird zurückgegeben.
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')
Nach dem Login kopieren
Nach dem Login kopieren

Schließlich generieren wir die unsere interaktive Web -App über streamlit:

# 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
Nach dem Login kopieren

Die endgültige Streamlit -App: LAMA -Bildunterschriften

Diese streamlitische Anwendung bietet eine benutzerfreundliche Schnittstelle für die Bildunterschriften. Hier ist eine Aufschlüsselung seiner Funktionalität:

  1. Titel und Datei -Uploader:
  • Die App zeigt einen Titel an: "Lama captioner".
  • Mit einer Datei -Uploader -Komponente können Benutzer eine Bilddatei (JPG, JPEG oder PNG) auswählen.
  1. Bildanzeige:
  • Sobald ein Bild hochgeladen ist, zeigt die App sie mit der St.Image -Funktion an.
  1. Bildunterschrift Erzeugung:
  • Eine Schaltfläche "Bildunterschrift erzeugen", löst den Bildunterschriftengenerierungsprozess aus.
  • Wenn ein Spinner geklickt wird, gibt an, dass die Bildunterschrift erzeugt wird.
  • Die Funktion generate_caption wird aufgerufen, um das hochgeladene Bild zu verarbeiten und eine Bildunterschrift zu erhalten.
  • Nach der erfolgreichen Generation wird eine Erfolgsnachricht angezeigt, gefolgt von der generierten Bildunterschrift.

Der folgende Snippet ist Code in Aktion, bei dem ein Bild von Eddie Hall zum Generieren der Bildunterschrift hochgeladen wurde. Überraschenderweise extrahierte es sogar die Informationen, die wie „stärkster Mann“ nicht eindeutig sichtbar waren.

LAMA 3.2 90B Tutorial: Bildunterschrift -App mit Streamlit & GROQ

Schlussfolgerung

Erstellen einer Bildunterschrift -App mit Lama 3.2 90B und Streamlit zeigt, wie fortgeschrittene KI schwierige Aufgaben erleichtern können. Dieses Projekt kombiniert ein leistungsstarkes Modell mit einer einfachen Schnittstelle, um ein Tool zu erstellen, das sowohl intuitiv als auch einfach zu bedienen ist.

Als KI -Ingenieur sehe ich ein großes Potenzial in solchen Werkzeugen. Sie können die Technologie zugänglicher machen, den Menschen helfen, sich mit Inhalten besser zu engagieren und Prozesse auf intelligentere Weise zu automatisieren.

Um Ihr Lernen über Lama fortzusetzen, empfehle ich die folgenden Ressourcen:

  • wie man Lama 3.2 1b auf einem Android -Telefon mit Tackchat
  • ausführt
  • Lama 3.2 und Gradio Tutorial: Erstellen Sie eine multimodale Web -App
  • Lama Stack: Ein Leitfaden mit praktischen Beispielen
  • Fine-abstimmende Lama 3.2 und lokal verwenden: eine Schritt-für-Schritt-Anleitung
  • Lama 3.3: Schritt-für-Schritt-Tutorial mit Demo-Projekt

Das obige ist der detaillierte Inhalt vonLAMA 3.2 90B Tutorial: Bildunterschrift -App mit Streamlit & GROQ. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage