AI XMP Importer & Rater für darktable

Übersicht

Dieses Lua-Script für darktable ermöglicht es, Bilder automatisch mit einer KI (z.B. über LM Studio) zu bewerten. Es extrahiert Bewertungen (1-10 in 8 Kategorien), Keywords und eine Gesamtbewertung, speichert sie in XMP-Sidecar-Dateien und wendet Tags in darktable an. Zusätzlich misst es Verarbeitungszeiten und API-Details.

Voraussetzungen

  • darktable 9.0.0 oder neuer
  • LM Studio (oder kompatible OpenAI-API) mit einem Multimodal-Modell (z.B. Qwen2.5-VL-7B-Instruct)
  • Lua-Unterstützung in darktable aktiviert

Installation

  1. Kopiere die Datei AI XMP Importer & Rater.lua in dein darktable Lua-Verzeichnis: ~/.config/darktable/lua/AI/
  2. Starte darktable neu – das Script lädt automatisch und erstellt Standarddateien.

Konfiguration

Das Script verwendet zwei Dateien im Script-Verzeichnis:

  • ai_config.json: API-Einstellungen (URL, Modell, Tokens, Bildgröße usw.)
  • ai_prompt.txt: Der Prompt für die KI (bearbeite ihn für bessere Ergebnisse)

Beispiel ai_config.json

jsonCopy{"api_settings":{"model_tag":"local-model","lmstudio_api_url":"http://localhost:1234/v1/chat/completions","max_tokens":800,"temperature":0.2,"retry_attempts":3,"retry_delay":2,"write_sidecar":true},"image_settings":{"max_width":800,"max_height":600,"jpeg_quality":85},"rating_scale":[{"score":85,"rating":5},{"score":80,"rating":4},  
    ...  
  ]}

Beispiel ai_prompt.txt

Bearbeite den Prompt, um das KI-Verhalten anzupassen (z.B. Anzahl Keywords ändern).

Verwendung

  1. Öffne darktable und wähle Bilder aus.
  2. Klicke im rechten Panel auf „AI-Bewertung durchführen“.
  3. Das Script sendet Bilder an die KI, parst die Antwort und wendet Bewertungen/Tags an.
  4. Ergebnisse: XMP-Dateien (.rate.xmp), Tags in darktable, und eine Zusammenfassung mit Zeiten/Tokens.

Import aus XMP

  • Wähle Bilder aus und klicke „AI-Daten aus XMP importieren“, um gespeicherte Bewertungen wiederherzustellen.

Ausgabe

  • Bewertung: Durchschnitt aus 8 Kategorien (z.B. 70/100).
  • Keywords: Kommagetrennte Tags (z.B. „natur, lichtspiel“).
  • Verarbeitungszeit: Gesamtzeit des API-Calls (Sekunden).
  • API-Dauer: Interne KI-Zeit aus timings (Sekunden, falls verfügbar).
  • Tokens: Prompt-, Completion- und Total-Tokens.

Troubleshooting

  • Fehler „API nicht erreichbar“: Prüfe LM Studio (Port 1234) und Modell.
  • Keine Bewertung: KI-Antwort-Format prüfen (Logs in darktable-Konsole).
  • Tags nicht geschrieben: Keywords in KI-Antwort fehlen oder Parsing-Fehler.
  • Dateien nicht gefunden: Script-Verzeichnis prüfen; Dateien werden beim Start erstellt.
  • Sleep-Fehler: Stelle sicher, dt.control.sleep(100) ist integer.

Logs

Aktiviere VERBOSE_DEBUG = true im Script für detaillierte Logs in der Konsole.

Hinweise

  • Das Script ist für lokale KI optimiert; passe API-URL für andere an.
  • Bearbeite ai_prompt.txt für bessere KI-Ergebnisse.
  • Bei Problemen poste Logs aus darktable.

Schreibe einen Kommentar