Skip to content
BotServBotServ
OllamaVisionBilderMultimodalLlava

Vision-Modelle mit Ollama

Bilder lokal mit Ollama analysieren. Vision-Modelle, API, Prompting und Anwendungen.

S

schutzgeist

3 min read
Vision-Modelle mit Ollama

Vision-Modelle mit Ollama

Was dieser Artikel über Ollama-Vision behandelt

  • Welche Vision-Modelle Ollama bietet.
  • Wie man Bilder über die API oder CLI analysiert.
  • Tipps für das Prompting.
  • Typische Anwendungen.
  • Stolpersteine und Limits.

Einleitung: Vision-Modelle mit Ollama

Ollama unterstützt nicht nur Textmodelle, sondern auch sogenannte Vision-Modelle, die Bilder verarbeiten können. Damit lassen sich Bilder beschreiben, Fragen zu Inhalten beantworten, Text aus Bildern extrahieren oder Objekte erkennen. Alles läuft lokal, ohne dass Bilder an Cloud-Dienste gesendet werden müssen. Das ist besonders datenschutzfreundlich.

Dieser Artikel zeigt, welche Vision-Modelle Ollama anbietet, wie man sie installiert und wie man Bilder analysiert.

Wichtige Begriffe

  • Vision-Modell: Sprachmodell, das zusätzlich Bilder verarbeitet.
  • Multimodal: Kombination aus Text und Bild als Eingabe.
  • Clip: Verfahren, das Bilder und Text in einem gemeinsamen Raum abbildet.
  • Llava: Bekanntes Open-Source-Vision-Modell.
  • OCR: Optische Zeichenerkennung, also Text aus Bildern lesen.
  • Bild-Token: Interne Repräsentation eines Bildes für das Modell.

Verfügbare Vision-Modelle

Ollama bietet verschiedene multimodale Modelle. Bekannte Beispiele sind:

  • llava: Beliebtes Vision-Modell, verschiedene Varianten verfügbar.
  • llava-phi3: Schnellere Variante.
  • moondream: Sehr kleines, schnelles Modell für einfache Bildanalysen.
  • bakllava: Weitere Variante mit guter Leistung.

Download:

ollama pull llava
ollama pull moondream

Bilder über die CLI analysieren

Ollama erlaubt es, Bilder direkt als Argument zu übergeben:

ollama run llava "Beschreibe dieses Bild." ./bild.png

Oder interaktiv:

ollama run llava

Dann den Bildpfad im Prompt angeben.

Bilder über die REST API

curl http://localhost:11434/api/chat -d '{
  "model": "llava",
  "messages": [
    {
      "role": "user",
      "content": "Beschreibe den Inhalt dieses Bildes.",
      "images": ["BASE64_KODIERTES_BILD"]
    }
  ],
  "stream": false
}'

Das Bild muss Base64-kodiert übergeben werden.

Python-Beispiel

import requests
import base64

with open("bild.png", "rb") as f:
    image_b64 = base64.b64encode(f.read()).decode()

url = "http://localhost:11434/api/chat"
payload = {
    "model": "llava",
    "messages": [
        {
            "role": "user",
            "content": "Beschreibe das Bild in drei Sätzen.",
            "images": [image_b64]
        }
    ],
    "stream": False
}

resp = requests.post(url, json=payload)
print(resp.json()["message"]["content"])

Prompting für Bilder

  • Konkret fragen: “Welche Objekte sind im Vordergrund?”
  • Text erkennen: “Lies den Text im Bild.”
  • Zusammenfassen: “Fasse den Inhalt zusammen.”
  • Vergleichen: Wenn mehrere Bilder vorhanden, Unterschiede beschreiben.

Anwendungen

  • OCR: Text aus Screenshots, Dokumenten oder Formularen extrahieren.
  • Bildbeschreibung: Für Barrierefreiheit oder Katalogisierung.
  • Objekterkennung: Inhalt von Bildern zusammenfassen.
  • Code aus Screenshots: UI-Elemente erkennen und beschreiben.
  • Datenanalyse: Diagramme und Graphen interpretieren.

Performance und Ressourcen

Vision-Modelle brauchen deutlich mehr Speicher als reine Textmodelle. Die Bildverarbeitung erzeugt zusätzliche Token und beansprucht GPU oder CPU. Das Starten eines Vision-Modells kann länger dauern als ein reines Textmodell.

Tipps

  • Kleine Vision-Modelle wie moondream für schnelle Aufgaben nutzen.
  • Bilder nicht zu gross senden, um Tokens zu sparen.
  • Konkrete Fragen stellen, keine vagen Beschreibungen erwarten.
  • GPU bevorzugen, da CPU-Inferenz bei Vision langsamer ist.
  • Ergebnisse prüfen, da Vision-Modelle nicht immer korrekt sind.

Typische Stolpersteine

  • Falsches Modell: Nicht jedes Ollama-Modell unterstützt Bilder.
  • Bild zu gross: Modell hat Kontext- oder Bildgrössenlimits.
  • Base64-Fehler: Bild nicht korrekt kodiert.
  • Langsame Antworten: Vision braucht mehr VRAM und Rechenzeit.
  • Falsche API-Struktur: images Feld im messages-Objekt nutzen.

FAQ: Vision-Modelle mit Ollama

Welches Vision-Modell ist empfehlenswert? llava für gute Qualität, moondream für schnelle Analysen.

Kann Ollama mehrere Bilder gleichzeitig verarbeiten? Ja, indem mehrere Base64-Strings im images-Feld übergeben werden.

Brauche ich eine GPU? Empfohlen, aber nicht zwingend. CPU-Inferenz ist langsamer.

Welche Bildformate werden unterstützt? Meist PNG, JPEG und GIF, je nach Modell.

Sind Vision-Modelle datenschutzkonform? Ja, da alles lokal verarbeitet wird.

Quellen und weiterführende Literatur

Zusammenfassung: Vision-Modelle mit Ollama

Ollama ermöglicht die lokale Analyse von Bildern mit Vision-Modellen wie llava oder moondream. Über die CLI oder REST API kann man Bilder beschreiben, Text extrahieren oder Objekte erkennen. Wichtig sind korrekte Base64-Kodierung, ausreichend VRAM und konkrete Prompts. Vision-Modelle brauchen mehr Ressourcen als reine Textmodelle, bieten aber viele Anwendungen von OCR bis hin zur Bildbeschreibung. Wer Bilddaten lokal verarbeiten will, profitiert besonders vom Datenschutz und der Unabhängigkeit von Cloud-Diensten.

Zurück zum KI Blog
Share:

Ähnliche Beiträge