Lokale KI in der Praxis: Tausende Bilder beschrieben, ohne externen KI-Dienst

Geschrieben von: Danny Kleine
Case study

Eine riesige Bilddatenbank ohne Schlagwörter und ohne Ordnung. In der Sammlung dieses Illustrationsarchivs zu suchen, war kaum möglich, und alles von Hand zu beschreiben hätte Wochen gedauert. Also kam die Frage, die wir immer öfter hören: Kann das nicht die KI machen?

Ja, das ging. Nach einem halben Tag Entwicklung hatte die Sammlung innerhalb weniger Stunden Schlagwörter, Beschreibungen und den Text, der auf den Bildern steht. Das Modell lief lokal, auf unserer eigenen Hardware, und kein einziges Bild ging an einen externen KI-Dienst.

Dieser Artikel gehört zu unserer Serie über lokale KI-Modelle. Das sind offene Modelle, die du selbst betreibst, statt deine Daten an einen großen KI-Dienst wie den von Anthropic oder ChatGPT zu schicken. Wir zeigen das anhand echter (kleiner) Projekte: was es bringt, was es braucht und wo die Grenzen liegen.

Worum es ging

Das Archiv verwaltet seine Sammlung in ResourceSpace, einem System zur Verwaltung von Bilddateien. Die Bilder sind der wichtigste Besitz des Archivs, und sie sind für den internen Gebrauch bestimmt. Sie an einen großen KI-Dienst in der Cloud zu schicken, heißt, jede Datei an einen Dritten abzugeben, zu Bedingungen, die das Archiv nicht selbst bestimmt.

Das war der Ausgangspunkt: KI ja, aber ohne dass ein Bild an einen externen KI-Dienst geht. Deshalb lief das Modell auf unserer eigenen Hardware, bei uns vor Ort in Deutschland. Die Bilder gingen nur vom Archiv zu uns und wieder zurück, genau wie bei der anderen Arbeit, die wir schon für diesen Kunden erledigt haben.

Erst ein Konzept

Wir haben mit der Frage angefangen, welche Daten wir eigentlich brauchen. Das waren drei Dinge pro Bild: Schlagwörter, eine kurze Beschreibung und der gesamte Text auf dem Bild, etwa gedruckte Bildunterschriften oder handschriftliche Notizen. Alles sollte direkt in ResourceSpace landen, damit sich für die Nutzer nichts an ihrer Arbeitsweise ändert.

Bevor irgendetwas zurückgeschrieben wurde, wurden 50 Ergebnisse in einer Übersicht mit Vorschaubildern geprüft. Anhand der Hinweise des Archivs haben wir die Anweisungen für das Modell angepasst. So kam zum Beispiel ans Licht, dass Namen von Künstlern in den Beschreibungen landeten, etwas, das kein automatischer Test gefunden hätte.

Dann die Umsetzung

Die Umsetzung selbst war eine Verbindung zwischen dem Modell und ResourceSpace. Sie baut auf den vorhandenen APIs auf und verbindet die Bilder mit unserem LLM. Das Ergebnis ist ein kleiner, fester Ablauf für jedes Bild:

  1. Das Bild wird aus ResourceSpace abgerufen.

  2. Zuerst liest das Modell nur den Text auf dem Bild, Wort für Wort. Ein Modell, das gleichzeitig liest und beschreibt, fängt an, das Gelesene zu „verbessern“.

  3. Danach beschreibt es das Bild: ein Titel, eine Beschreibung und 8 bis 15 Schlagwörter.

  4. Die Schlagwörter werden auf die Begriffe abgestimmt, die das Archiv bereits verwendet, damit nicht ständig neue Varianten dazukommen.

  5. Das Ergebnis geht zurück an ResourceSpace, aber nur in Felder, die leer sind oder noch das eigene frühere Ergebnis enthalten. Was ein Nutzer selbst eingetragen hat, bleibt erhalten.

Was es gebracht hat

Alle Bilder haben jetzt Schlagwörter, und wo die Felder leer waren, auch eine Beschreibung und den Text auf dem Bild. Für 1.500 Bilder brauchten die Skripte etwa eine Stunde. Später hinzugefügte Bilder lassen sich einzeln verarbeiten.

Das Modell ist nicht perfekt: Manchmal liest es zu viel in eine Abbildung hinein. Das Ergebnis ist ein solider Ausgangspunkt für die Verwalter der Sammlung, und beim Verschlagworten neuer Bilder geht kaum noch Zeit verloren. Mit der Zeit wird die Qualität von selbst besser, anhand bereits bearbeiteter Bilder.

Was das für dein System bedeutet

Fast jedes Unternehmen hat eine Sammlung, in der niemand mehr richtig suchen kann: Produktfotos, technische Zeichnungen, gescannte Dokumente, Inspektionsfotos. Derselbe Ansatz funktioniert auch dort. Das System, das du schon hast, bleibt bestehen, die Daten gehen nicht an einen externen KI-Dienst, und die Leute, die die Sammlung kennen, prüfen das Ergebnis, bevor etwas gespeichert wird.

Technisch betrachtet

Hier eine kurze Erklärung des konkreten Setups, das wir für dieses Projekt verwendet haben. Natürlich gibt es verschiedene Wege, das anzugehen; dieser hat für dieses Projekt gut funktioniert.

  • Modell: Qwen3-VL-30B-A3B, ein Open-Source-Modell, bereitgestellt mit vLLM.

  • Hardware: eine NVIDIA DGX Spark (128 GB gemeinsamer Speicher). Das Modell belegt etwa 45 GB, davon 30 GB Gewichte, und etwa 75 GB Speicherplatz. Eine Server-GPU mit mindestens 48 GB Speicher funktioniert auch.

  • Geschwindigkeit: etwa 2,5 Sekunden pro Bild, rund 1.500 Bilder pro Stunde.

  • Anbindung: die ResourceSpace-API zum Abrufen von Vorschaubildern und zum Zurückschreiben von Feldern. Der einzige Datenverkehr läuft zwischen dem Tagger und dem eigenen Server des Archivs.

  • Aufbau: zwei getrennte Schritte (erst Transkription, dann Beschreibung), strukturierte Ausgabe, Schlagwörter verknüpft mit der bestehenden Begriffsliste und eine Schreibregel, die nur leere Felder oder eigene frühere Ergebnisse überschreibt.

  • Aus der Praxis: Einige Vorschaubilder waren farblich invertiert, einige Originale sehr klein, und bei einer Zeichnung verfiel das Modell in Wiederholungen, bis es sein Limit erreichte. Jeder Fall brauchte eine kleine Anpassung.

Hast du eine ähnliche Frage?

Beschäftigt dich eine Frage rund um deine eigene lokale KI? Sprich uns gerne an. Wir starten immer mit einem Konzept: Was brauchst du, was darf das System, und welche Daten müssen im Haus bleiben?