Erstellen Sie ein PPT-KI-Frage-Antwortsystem zur Bildanalyse mit dem Granite Vision-Modell

Mit der Weiterentwicklung von KI-gestützten Technologien wird die Bildanalyse immer ausgefeilter und ermöglicht tiefere Erkenntnisse aus visuellen Daten. Dank Fortschritten bei Modellen des maschinellen Lernens kann KI hochgeladene Bilder verarbeiten, Metadaten extrahieren und die Inhaltsmoderation in großem Umfang unterstützen. Diese Analysetools tragen auch zur prädiktiven Modellierung für Anwendungen wie Preisgestaltung, visuelle Optimierung und Bilderzeugung bei und machen Workflows kostengünstiger und effizienter. Durch die Integration datengestützter Ansätze verbessert KI die Automatisierung und Entscheidungsfindung und bietet neue Möglichkeiten für intelligente visuelle Interpretation.

Anwendungsfälle

Angesichts der rasanten Fortschritte in Computer Vision und fortschrittlicher KI nutzen Unternehmen und Forscher bildbasierte Technologien für eine Vielzahl von Anwendungen. Von Bildklassifizierung und OCR (optischer Zeichenerkennung) bis hin zur Segmentierung und Videoanalyse verändern KI-gestützte Werkzeuge die Art und Weise, wie wir visuelle Informationen extrahieren und analysieren.

In Branchen wie den sozialen Medien verbessert KI die Inhaltsmoderation durch die Analyse von Bildern auf Pixelebene, wodurch die Einhaltung von Richtlinien sichergestellt und die Interaktion gesteigert wird. Unternehmen können die Vision API auch zur automatisierten Dokumentenverarbeitung nutzen und gescannte Dateien, Excel-Tabellen und Berichte in strukturierte Daten umwandeln. Diese Anwendungen optimieren Workflows, verbessern die Effizienz und ermöglichen Unternehmen, sinnvolle Erkenntnisse aus groß angelegten visuellen Datensätzen zu gewinnen.

Diese Anwendungsfälle unterstreichen die wachsende Rolle der KI-gestützten Bildanalyse in verschiedenen Branchen. In diesem Tutorial konzentrieren wir uns auf die Anwendung dieser Funktionen auf PowerPoint-Präsentationen und ermöglichen interaktive Fragen und Antworten zu Texten und Bildern mithilfe fortschrittlicher Computer-Vision- und KI-Modelle

KI-gestützte interaktive Frage- und Antwortfunktion für Präsentationen

Große Sprachmodelle (LLMs) haben maschinelles Lernen revolutioniert, indem sie intelligente Erkenntnisse aus riesigen Datensätzen unstrukturierter Texte ermöglichen. Herkömmliche LLMs haben jedoch oft Schwierigkeiten mit der Bildanalyse, was es schwierig macht, Erkenntnisse aus Diagrammen, Schaubildern und visuellen Elementen in Präsentationen zu gewinnen.

IBM Granite® Vision 3.2 Large Language Models (LLM) überbrückt diese Lücke, indem es KI-Tools mit fortschrittlichen Objekterkennungsalgorithmen integriert und es den Nutzern ermöglicht, multimodale Analysen zu automatisieren. Dieses Tutorial zeigt, wie Sie Ihren Workflow optimieren können, indem Sie KI verwenden, um Text und Bilder aus PowerPoint-Dateien (.pptx) zu extrahieren und zu analysieren. Dies ermöglicht interaktive Fragen und Antworten für bessere Einblicke in die Präsentation.

In diesem Tutorial lernen Sie, ein KI-gestütztes System zu erstellen, das Benutzeranfragen in Echtzeit anhand von PowerPoint-Folien beantworten kann, indem es sowohl Text als auch Bilder als Kontext verwendet. Dieses Tutorial führt Sie durch folgende Schritte:

PowerPoint-Verarbeitung: Text und Bilder aus .pptx-Dateien für KI-basierte Analysen extrahieren.

Textbasierte Fragen und Antworten: Granite Vision nutzen, um Antworten auf Basis des extrahierten Folientextes zu generieren.

Bildbasierte Q&A: Die KI auffordern, Bilder, Diagramme und Grafiken von Folien zu analysieren.

Optimierte Fragenformulierung: Lernen, wie effektive Fragen für genaue und relevante KI-Antworten erstell werden.

Verwendete Technologien

Dieses Tutorial nutzt modernste KI-Technologien, darunter:

1. IBM Granite Vision: Ein leistungsstarkes Vision Language Model (VLM), das sowohl Text als auch Bilder verarbeitet.

2. Python-PPTX: Eine Bibliothek zum Extrahieren von Text und Bildern aus PowerPoint-Dateien.

3. Transformers: Ein Framework zur effizienten Verarbeitung von KI-Modelleingaben.

Was Sie erreichen werden

Am Ende dieses Tutorials werden Sie Folgendes können:

1. PowerPoint-Inhalte (Text und Bilder). extrahieren und verarbeiten.

2. Das Modell Granite Vision 3.2 für KI-gestützte Fragen und Antworten auf Folieninhalten anwenden.

3. Der KI aufschlussreiche Fragen zu Text und Bildern stellen.

4. Die Benutzerinteraktion mit Präsentationen durch KI-gestützte Erklärungen verbessern.

Dieses Tutorial richtet sich an KI-Entwickler, Forscher, Inhaltsersteller und Geschäftsleute, die ihre Präsentationen um KI-gestützte Erkenntnisse erweitern möchten.

Video

Voraussetzungen

Sie benötigen ein IBM Cloud-Konto, um ein watsonx.ai-Projekt zu erstellen.

Schritte

Schritt 1. Einrichten Ihrer Umgebung

Sie können zwar aus mehreren Tools wählen, aber dieses Tutorial führt Sie durch die Einrichtung eines IBM Kontos für die Verwendung eines Jupyter Notebook.

1. Melden Sie sich mit Ihrem IBM Cloud-Konto bei watsonx.ai an.

2. Erstellen Sie ein watsonx.ai-Projekt. Sie können Ihre Projekt-ID in Ihrem Projekt abrufen. Klicken Sie auf die Registerkarte Verwalten. Kopieren Sie dann die Projekt-ID aus dem Abschnitt Details der Seite Allgemein. Sie benötigen diese ID für dieses Tutorial.

3. Erstellen Sie ein Jupyter Notebook.

4. Laden Sie die PPTX-Datei als Asset in watsonx.ai hoch

Dieser Schritt öffnet eine Notebook-Umgebung, in die Sie den Code aus diesem Tutorial kopieren können. Alternativ können Sie dieses Notebook auf Ihr lokales System herunterladen und als Asset in Ihr watsonx.ai-Projekt hochladen. Dieses Tutorial ist auch auf GitHub verfügbar.

Hinweis: Für die Ausführung des Codes wird eine GPU-Infrastruktur benötigt. Daher wird empfohlen, watsonx.ai wie in diesem Tutorial zu verwenden.

Schritt 2: Die erforderlichen Abhängigkeiten installieren

Bevor wir mit dem Extrahieren und Verarbeiten von PowerPoint-Inhalten beginnen, müssen wir die notwendigen Python-Bibliotheken installieren:

transformers: Bietet Zugang zu IBM Granite Vision und anderen KI-Modellen.

torch: ein Deep-Learning-Framework, das für die effiziente Ausführung des Modells erforderlich ist.

python-pptx: Eine Bibliothek zum Extrahieren von Text und Bildern aus PowerPoint-Dateien (.pptx).

Führen Sie die folgenden Befehle aus, um diese Pakete zu installieren und zu aktualisieren:

!pip install --upgrade transformers
!pip install --upgrade torch
!pip install python-pptx
!pip install botocore
!pip install ibm-cos-sdk

Schritt 3: Die erforderlichen Bibliotheken importieren

In diesem Schritt importieren wir die erforderlichen Bibliotheken für die Verarbeitung von PowerPoint-Dateien, die Behandlung von Bildern und die Interaktion mit dem IBM Granite Vision-Modell:

  1. os und io: Für Dateiverarbeitung und Eingabe-/Ausgabeoperationen.
  2. torch: Gewährleistet die Kompatibilität mit dem KI-Modell.
  3. pptx.Presentation: Extrahiert Text und Bilder aus PowerPoint-Dateien (.pptx).
  4. PIL.Image: Verarbeitet aus Objektträgern extrahierte Bilder.
  5. transformers: Lädt IBM Granite Vision für KI-basierte Fragen und Antworten.
  6. botocore.client.Config & ibm_boto3: Verwaltet den Cloud-Speicherzugriff (IBM Cloud Object Storage).
import os
import io
import torch
from pptx import Presentation
from PIL import Image
from io import BytesIO
from transformers import AutoProcessor, AutoModelForVision2Seq
from botocore.client import Config
import ibm_boto3

Schritt 4: Verbindung mit IBM Cloud Object Storage herstellen

In diesem Schritt stellen wir eine Verbindung zu IBM Cloud Object Storage her, um auf die im Cloud gespeicherten PowerPoint-Dateien zuzugreifen und sie abzurufen.

Sie können die Python-Unterstützung nutzen, die durch einen Fork der boto3-Bibliothek mit Funktionen bereitgestellt wird, um IBM Cloud Object Storage optimal auszunutzen. Ziehen Sie die offizielle Dokumentation heran, um diese Zugangsdaten zu erhalten.

ibm_boto3.Client: Erstellt einen Client, der mit IBM Cloud Object Storage interagiert.

ibm_api_key_id: Ihr IBM Cloud API-Schlüssel zur Authentifizierung.

ibm_auth_endpoint: Der Authentifizierungsendpunkt für IBM Cloud.

endpoint_url: Der spezifische Cloud Object Storage (COS) Speicherendpunkt.

# IBM COS credentials
cos_client = ibm_boto3.client(
    service_name='s3',
    ibm_api_key_id='Enter your API Key',
    ibm_auth_endpoint='[Enter your auth end-point url]',
    config=Config(signature_version='oauth'),
    endpoint_url='[Enter your end-point url]'
)

Hinweis: Wenn Sie eine Datei als Asset in watsonx.ai hochladen, wird sie automatisch im IBM Cloud Object Storage gespeichert. Wenn Sie die Datei später in ein Jupyter Notebook importieren, generiert und fügt watsonx.ai die notwendigen Anmeldedaten (API-Schlüssel, Authentifizierungsendpunkt und Speicherendpunkt) in Ihr Jupyter Notebook ein. Die bereitgestellten IBM Cloud Object Storage Zugangsdaten ermöglichen einen sicheren Zugriff zum Abrufen von Dateien aus dem Speicher, was eine nahtlose Integration zwischen watsonx.ai Assets und der Notebook-Umgebung für weitere Verarbeitung ermöglicht.

Durch die Konfiguration dieser Verbindung können wir PowerPoint-Präsentationen, die in der IBM Cloud gespeichert sind, nahtlos importieren und für KI-gestützte Analysen verarbeiten

Schritt 5: Speicherparameter definieren

In diesem Schritt geben wir den IBM Cloud Object Storage Bucket und die Dateidetails an, um die PowerPoint-Präsentation (.pptx) zur Verarbeitung zu finden und abzurufen.

Sehen Sie sich dieses offizielle Dokument an, um die Details zur Bucket-Konfiguration über die IBM Cloud Benutzeroberfläche zu erhalten.

bucket: Der Name des IBM Cloud Object Storage Buckets, in dem die Datei gespeichert wird.

object_key: Der genaue Dateiname der PowerPoint-Präsentation, auf die zugegriffen werden soll

bucket = 'Enter your bucket key'
object_key = 'Application Integration client presentation.PPTX [You can replace this with your PPT name]'

Schritt 6: PowerPoint-Datei aus IBM Cloud Object Storage abrufen

In diesem Schritt laden wir die PowerPoint-Datei (.pptx) aus IBM Cloud Object Storage herunter, um sie lokal zu verarbeiten.

cos_client.get_object(): Ruft die Datei aus dem angegebenen Bucket und Objektschlüssel ab.

streaming_body.read(): Liest den Dateiinhalt in einen Bytestrom ein, um ihn weiterzuverarbeiten.

# Download PPTX file from IBM COS
streaming_body = cos_client.get_object(Bucket=bucket, Key=object_key)['Body']
pptx_bytes = streaming_body.read()

Schritt 7: Die PowerPoint-Datei auf einem lokalen Pfad speichern

In diesem Schritt speichern wir die heruntergeladene PowerPoint-Datei (.pptx) lokal, damit sie verarbeitet werden kann.

pptx_path: Legt den lokalen Dateinamen fest, unter dem die Präsentation gespeichert werden soll.

open (pptx_path, 'wb'): Öffnet die Datei im Schreib-Binärmodus, um die abgerufenen Bytes zu speichern.

f.write(pptx_bytes): Schreibt den Inhalt der heruntergeladenen Datei in die neu erstellte .pptx-Datei.

# Save the bytes to a local PPTX file
pptx_path = "downloaded_presentation.pptx"
with open(pptx_path, 'wb') as f:
    f.write(pptx_bytes)

Schritt 8: Den Speicherort der Datei bestätigen

In diesem Schritt drucken wir eine Bestätigungsmeldung, um sicherzustellen, dass die PowerPoint-Datei erfolgreich gespeichert wurde. Die Funktion `print` zeigt den Dateipfad an, unter dem die .pptx-Datei lokal gespeichert ist.

print(f"PPTX file saved as: {pptx_path}")

Schritt 9: Text und Bilder aus der PowerPoint-Datei extrahieren

In diesem Schritt definieren wir eine Funktion, um die PowerPoint-Datei (.pptx) zu verarbeiten und ihren Inhalt zu extrahieren:

slide_texts: Speichert extrahierten Text von jeder Folie.

slide_images: Speichert extrahierte Bilder als Python Imaging Library (PIL) Bildobjekte zusammen mit den entsprechenden Foliennummern.

Durchläuft die Folien, um Text aus Formen mit Textinhalt und Bilder aus in die Folien eingebetteten Objekten zu extrahieren.

Diese Funktion trennt Text und Bilder aus der PPT-Datei, sodass der Chat-Agent die Fragen der Nutzer anhand der extrahierten Inhalte leicht beantworten kann.

def extract_text_and_images_from_pptx(pptx_path):
        presentation = Presentation(pptx_path)
        slide_texts = []
        slide_images = []
        for slide_number, slide in enumerate(presentation.slides):
                # Extract text from slide
                slide_text = []
                for shape in slide.shapes:
                        if hasattr(shape, "text"):
                                slide_text.append(shape.text)
                                slide_texts.append("\n".join(slide_text))
                # Extract images from slide
                for shape in slide.shapes:
                        if hasattr(shape, "image"):
                                image_stream = BytesIO(shape.image.blob)
                                image = Image.open(image_stream)
                                slide_images.append((slide_number, image))
return slide_texts, slide_images

Schritt 10: Die PowerPoint-Datei verarbeiten

In diesem Schritt rufen wir die Funktion auf, um Text und Bilder aus der gespeicherten PowerPoint-Datei zu extrahieren.

pptx_path: Gibt den lokalen Pfad der heruntergeladenen PowerPoint-Datei an.

extract_text_and_images_from_pptx (pptx_path): Extrahiert Text und Bilder von den Folien.

slide_texts: Speichert den extrahierten Text aus allen Folien.

slide_images: Speichert die extrahierten Bilder.

pptx_path = "downloaded_presentation.pptx"
slide_texts, slide_images = extract_text_and_images_from_pptx(pptx_path)

Schritt 11: Extrahierten Text von Folien anzeigen

In diesem Schritt drucken wir den extrahierten Text jeder Folie aus, um zu überprüfen, dass der PowerPoint-Inhalt korrekt verarbeitet wurde.

enumerate (slide_texts): Durchläuft den extrahierten Text und ordnet jedem die entsprechende Foliennummer zu.

Separator ('-' * 40): Hilft, Inhalte von verschiedenen Folien visuell zu unterscheiden.

# Display extracted text and images
for i, text in enumerate(slide_texts):
        print(f"Slide {i + 1} Text:\n{text}\n{'-'*40}")

Schritt 12: Extrahierte Bilder von Folien anzeigen

In diesem Schritt bestätigen und visualisieren wir die extrahierten Bilder aus den PowerPoint-Folien.

len: Zählt die Gesamtzahl der extrahierten Bilder.

img.show(): Öffnet jedes extrahierte Bild zur Ansicht.

Sie können `.show() `durch `.save('filename.png')` ersetzen, um die Bilder lokal zu speichern.

print(f"\nExtracted {len(slide_images)} images.")
for slide_num, img in slide_images:
        img.show() # This will open the image, or you can save it using img.save('filename.png')

Schritt 13: Das IBM Granite Vision-Modell laden

In diesem Schritt initialisieren wir das IBM Granite-Vision-3.2-2B Modell für KI-gestützte Text- und Bildverarbeitung.

MODEL_NAME gibt das vorab trainierte Granite Vision-Modell an, das verwendet werden soll, und torch.cuda.is_available() prüft, ob eine GPU (CUDA) für schnellere Verarbeitung verfügbar ist; andernfalls wird standardmäßig die CPU verwendet.

# Load IBM Granite-Vision-3.1-2B-Preview model and processor
MODEL_NAME = "ibm/granite-vision-3-2-2b"
device = "cuda" if torch.cuda.is_available() else "cpu"

Schritt 14: Initialisieren von Modell und Prozessor

In diesem Schritt laden wir das IBM Granite Vision-Modell und den entsprechenden Prozessor, um sowohl Text- als auch Bild-Eingaben zu verarbeiten.

AutoProcessor.from_pretrained(MODEL_NAME, trust_remote_code=True): Lädt den vortrainierten Prozessor, um Eingaben (Text und Bilder) für das Modell zu formatieren.

AutoModelForVision2Seq.from_pretrained(MODEL_NAME, trust_remote_code=True, ignore_mismatched_sizes=True).to(device): Lädt das Granite Vision-Modell und überträgt es auf das verfügbare Gerät (GPU oder CPU).

wobei gilt:

trust_remote_code=True: Gewährleistet Kompatibilität mit benutzerdefinierten Modellimplementierungen.

ignore_mismatched_sizes=True: Verhindert Fehler bei geringfügigen Inkonsistenzen in der Modellgröße.

Hinweis: Das Laden kann eine Weile dauern.

processor = AutoProcessor.from_pretrained(MODEL_NAME, trust_remote_code=True)
model = AutoModelForVision2Seq.from_pretrained(MODEL_NAME, trust_remote_code=True, ignore_mismatched_sizes=True).to(device)

Schritt 15: Textbasierten KI-Chat implementieren

In diesem Schritt erstellen wir eine Chatfunktion, mit der Nutzer Fragen auf Basis des extrahierten Textes aus den PowerPoint-Folien stellen können.

Funktionsweise:

  1. Der Benutzer gibt eine Frage ein, die sich auf den Inhalt der Folie bezieht.
  2. Der gesamte aus der PPT extrahierte Text wird zu einer strukturierten Konversation für das Modell formatiert. Dadurch erhält das Modell den genauen Kontext, um die spezifische Antwort aus dem PPT-Inhalt selbst zu generieren.
  3. apply_chat_template() bereitet die Eingabe für das KI-Modell in einem Konversationsformat vor.
  4. model.generate() generiert eine Antwort basierend auf der Eingabeanfrage.
  5. processor.decode() dekodiert die von der KI generierte Antwort in einen für Menschen lesbaren Text.
  6. Die Schleife läuft weiter, bis der Nutzer `exit` eingibt, um den Chat zu beenden.
# Chat based on Text Only
def chat_with_text(model, processor, slide_texts):
    while True:
        query = input("Ask a question based on the presentation text (or type 'exit' to quit): ")
        if query.lower() == 'exit':
            break
        conversation = [
            {
                "role": "user",
                "content": [
                    {"type": "text", "text": "\n".join(slide_texts) + f"\nQuery: {query}"},
                ],
            },
        ]
        inputs = processor.apply_chat_template(
            conversation,
        add_generation_prompt=True,
        tokenize=True,
        return_dict=True,
        return_tensors="pt"
        ).to(device)
        outputs = model.generate(**inputs, max_new_tokens=150)
        response = processor.decode(outputs[0], skip_special_tokens=True)
        print("Model Response:", response)

Schritt 16: Bildbasierten KI-Chat implementieren

In diesem Schritt erstellen wir eine Chatfunktion, mit der Nutzer Fragen zu einzelnen Bildern aus den PowerPoint-Folien stellen können.

Funktionsweise:

  1. Der Benutzer gibt eine Eingabe ein, die sich auf Folienbilder bezieht.
  2. Er gibt eine Foliennummer an, um sich auf ein bestimmtes Bild zu beziehen.
  3. Das ausgewählte Bild wird temporär als `slide_image_temp.png` gespeichert.
  4. Es wird eine strukturierte Konversation erstellt, die Folgendes enthält: (a) Den Pfad der Bilddatei. (b) Die Frage des Benutzers.
  5. apply_chat_template() verarbeitet die Eingabe in einem für das KI-Modell geeigneten Format.
  6. model.generate() generiert eine Antwort basierend auf dem Bild und der Abfrage.
  7. Die Antwort wird dekodiert und dem Benutzer angezeigt.
  8. Die Schleife wird fortgeführt, bis der Benutzer exit zum Beenden eingibt.
# Chat based on Images Only
def chat_with_images(model, processor, slide_images):
    while True:
        query = input("Ask a question based on the presentation images (or type 'exit' to quit): ")
            if query.lower() == 'exit':
                break
            slide_num = int(input(f"Enter slide number (1 to {len(slide_images)}) to ask about its image: ")) - 1
            image = slide_images[slide_num][1]
            img_path = "slide_image_temp.png"
            image.save(img_path) # Save the image temporarily
            conversation = [
                {
                    "role": "user",
                    "content": [
                            {"type": "image", "url": img_path},
                            {"type": "text", "text": query},
                    ],
                },
            ]
            inputs = processor.apply_chat_template(
                conversation,
                add_generation_prompt=True,
                tokenize=True,
                return_dict=True,
                return_tensors="pt"
            ).to(device)
            outputs = model.generate(**inputs, max_new_tokens=150)
            response = processor.decode(outputs[0], skip_special_tokens=True)
            print("Model Response:", response)

Schritt 17: Textbasierten KI-Chat ausführen

In diesem Schritt rufen wir die Funktion chat_with_text auf, die es dem Benutzer ermöglicht, Fragen zum extrahierten Text aus den PowerPoint-Folien zu stellen.

Funktionsweise:

  1. chat_with_text() beginnt die textbasierte Fragerunde.
  2. Die Funktion fordert den Benutzer kontinuierlich zur Eingabe auf und beantwortet Fragen basierend auf dem extrahierten Folientext.
  3. Der Chat läuft so lange fort, bis der Benutzer exit eingibt, um den Chat zu beenden.
chat_with_text(model, processor, slide_texts)

AUSGABE

Frage: Ist Integration ein Wettbewerbsvorteil für Ihr Unternehmen?

<|assistant|>

Ja, die Integration ist ein Wettbewerbsvorteil für Ihr Unternehmen. Sie hilft Ihnen, schneller voranzukommen und Herausforderungen zu meistern. Sie kann aber auch zu erhöhten Kosten, Ineffizienzen, Sicherheitsrisiken und einer schlechten Erfahrung führen, was letztendlich die Wettbewerbsfähigkeit eines Unternehmens und seine Fähigkeit, in einer sich schnell entwickelnden Geschäftswelt zu bestehen, gefährdet.

Stellen Sie eine Frage auf der Grundlage des Präsentationstextes (oder geben Sie 'exit' ein, um zu beenden): exit

Auf die Frage des Benutzers: „Ist die Integration ein Wettbewerbsvorteil für Ihr Unternehmen?“ verarbeitete das Granite Vision-Modell die Anfrage anhand des extrahierten PowerPoint-Folientextes und generierte eine Antwort.

Das Modell erkannte "Integration" als Geschäftskonzept an und lieferte eine strukturierte Antwort ab Folie Nummer 7, in der sowohl die Vorteile als auch die Risiken erläutert wurden. Darin wurde hervorgehoben, dass die Integration die Geschwindigkeit und Problemlösung verbessert, aber auch auf mögliche Nachteile wie erhöhte Kosten, Ineffizienzen, Sicherheitsrisiken und eine schlechte Benutzererfahrung hingewiesen, wenn sie nicht effektiv gemanagt wird.

Diese Antwort zeigt die Fähigkeit des Modells, den extrahierten Folientext zu interpretieren und eine kontextrelevante und ausgewogene Antwort zu generieren

Schritt 18: Bildbasierten KI-Chat ausführen

In diesem Schritt rufen wir die Funktion chat_with_images auf, die es dem Nutzer ermöglicht, Fragen zu den aus den PowerPoint-Folien extrahierten Bildern zu stellen.

Funktionsweise:

  1. chat_with_images() startet die bildbasierte Frage-und-Antwort-Session.
  2. Die Funktion fordert den Benutzer auf, eine bestimmte Foliennummer auszuwählen, die ein Bild enthält.
  3. Das ausgewählte Bild wird verarbeitet und zu einer strukturierten Konversation für das Vision-Modell formatiert.
  4. Das Modell erzeugt eine Antwort auf der Grundlage des Bildinhalts und der Anfrage des Benutzers.
  5. Die Schleife wird fortgeführt, bis der Benutzer exit zum Beenden eingibt.
chat_with_images(model, processor, slide_images)

AUSGABE

Stellen Sie eine Frage anhand der Präsentationsbilder (oder geben Sie 'exit' ein, um die Präsentation zu beenden): Was ist das für ein Bild?

Geben Sie die Foliennummer ein (1 bis 41), um nach dem Bild zu fragen: 2

Modellantwort: <|system|>

Ein Chat zwischen einem neugierigen Benutzer und einem Assistenten mit künstlicher Intelligenz. Der Assistent gibt hilfreiche, detaillierte und höfliche Antworten auf die Fragen des Nutzers.

<|user|>

Was ist das für ein Bild?

<|assistant|>

3D-Modell

Stellen Sie eine Frage zu den Präsentationsbildern (oder geben Sie „exit“ ein, um den Vorgang zu beenden): Erkläre dieses Bild

Geben Sie die Foliennummer ein (1 bis 41), um nach dem Bild zu fragen: 2

Modellantwort: <|system|>

Ein Chat zwischen einem neugierigen Benutzer und einem Assistenten mit künstlicher Intelligenz. Der Assistent gibt hilfreiche, detaillierte und höfliche Antworten auf die Fragen des Nutzers.

<|user|>

Erkläre dieses Bild

<|assistant|>

Das Bild zeigt ein 3D-Modell eines Würfels

Stellen Sie eine Frage anhand der Präsentationsbilder (oder geben Sie „exit“ ein, um den Vorgang zu beenden): Kannst du diese Tabelle erklären?

Geben Sie die Foliennummer ein (1 bis 41), um nach dem Bild zu fragen: 1

Modellantwort: <|system|>

Ein Chat zwischen einem neugierigen Benutzer und einem Assistenten mit künstlicher Intelligenz. Der Assistent gibt hilfreiche, detaillierte und höfliche Antworten auf die Fragen des Nutzers.

<|user|>

Kannst du dieses Diagramm erklären?

<|assistant|>

Hier ist ein Balkendiagramm mit dem Titel Reifegradentwicklung des Enterprise-Cloud-Marktes von der ersten bis zur vierten Generation. Die x-Achse misst den Generationenfortschritt, während die y-Achse den Reifegrad über die Jahre darstellt. Die Grafik zeigt, dass mit dem Fortschreiten der Generationen der Reifegrad des Cloud-Marktes für Unternehmen zunimmt.

Stellen Sie eine Frage anhand der Präsentationsbilder (oder geben Sie „exit“ ein, um den Vorgang zu beenden): exit

Wenn der Nutzer bildbezogene Fragen stellte, verarbeitete das Granite Vision-Modell die ausgewählten Bilder und generierte Antworten basierend auf seinem Verständnis des visuellen Inhalts.

Auf die Frage „Was ist das für ein Bild?“ (Folie 2) bezeichnete das Modell das Bild als „3D-Modell“, lieferte aber nur eine minimale Beschreibung.

Bei der Aufgabe „Erkläre dieses Bild“ (Folie 2) verfeinerte das Modell seine Antwort und identifizierte es als „ein 3D-Modell eines Würfels“.

Für „Kannst du dieses Diagramm erklären?“ (Folie 1) lieferte das Modell eine detaillierte Beschreibung des Balkendiagramms, erläuterte den Titel, die x-Achse, die y-Achse und den Gesamttrend und zeigte auf, wie sich der Reifegrad des Cloud-Marktes für Unternehmen über die Generationen hinweg weiterentwickelt.

Dieser Schritt ermöglicht Benutzern die Interaktion mit visuellen Elementen wie Tabellen, Schaubildern und Infografiken, indem sie das IBM Granite Vision-Modell für intelligente Analysen und Erklärungen nutzen

Die wichtigsten Erkenntnisse

  1. Das Modell erkennt grundlegende Formen und Objekte, kann jedoch für einige Bilder nur allgemeine Beschreibungen liefern.
  2. Für Diagramme und Charts bietet es strukturierte Erkenntnisse, einschließlich Titeln, Achsenbeschriftungen und Trends, was es für Geschäfts- und Datenpräsentationen nützlich macht.
  3. Die Genauigkeit der Antworten hängt von Bildklarheit und Komplexität ab, einfachere Visualisierungen (wie 3D-Modelle) können kürzere Antworten erhalten, während strukturierte Visualisierungen (wie Diagramme) detailliertere Erkenntnisse liefern.

Dieses Tutorial demonstriert die Fähigkeit von IBM Granite Vision, Bilder zu interpretieren.

Weiterführende Lösungen
IBM Maximo Visual Inspection

Nutzen Sie No-Code-Computer-Vision für die Automatisierung von visuellen Inspektionen.

Erfahren Sie mehr über Maximo Visual Inspection
Beratung und Services zu künstlicher Intelligenz (KI)

Die KI-Services von IBM Consulting unterstützen Sie dabei, die Art und Weise, wie Unternehmen mit KI arbeiten, neu zu denken.

Erkunden Sie die Services im Bereich der künstlichen Intelligenz
Lösungen im Bereich künstlicher Intelligenz

Setzen Sie KI in Ihrem Unternehmen ein
– mit branchenführendem Fachwissen im Bereich KI und dem umfassenden Lösungsportfolio von IBM an Ihrer Seite.

Erkunden Sie KI-Lösungen
Machen Sie den nächsten Schritt

Mit IBM Maximo Visual Inspection können Ihre Qualitätskontroll- und Inspektionsteams die Leistungsfähigkeit der KI-Funktionen von Computer Vision nutzen. Nutzen Sie das Potenzial von No-Code-Computer-Vision für die Automatisierung von visuellen Inspektionen.

Erfahren Sie mehr über Maximo Visual Inspection Produkttour starten