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
moondreamfü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:
imagesFeld immessages-Objekt nutzen.
Weiterführende Links und Infos
- BotServ.de Ollama Befehle
- BotServ.de Ollama REST API
- BotServ.de Ollama Performance
- BotServ.de Multimodale KI
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
- Ollama Vision Docs: https://github.com/ollama/ollama/blob/main/docs/
- Llava: https://llava-vl.github.io/
- Moondream: https://moondream.ai/
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.


