Ü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
- Kopiere die Datei
AI XMP Importer & Rater.luain dein darktable Lua-Verzeichnis:~/.config/darktable/lua/AI/ - 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
- Öffne darktable und wähle Bilder aus.
- Klicke im rechten Panel auf „AI-Bewertung durchführen“.
- Das Script sendet Bilder an die KI, parst die Antwort und wendet Bewertungen/Tags an.
- 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.txtfür bessere KI-Ergebnisse. - Bei Problemen poste Logs aus darktable.