Übersicht
Dieses Skript ermöglicht die KI-gestützte Bewertung von Bildern über eine Web-Oberfläche oder die Kommandozeile. Die Ergebnisse können als CSV-Dateien für die Datenanalyse und/oder als XMP-Sidecar-Dateien für die Integration in Bildverwaltungsprogramme wie Darktable gespeichert werden.
Funktionen
- KI-gestützte Bewertung: Bilder werden von einer lokalen KI bewertet.
- Flexible Ausführung: Nutzung über eine Web-Oberfläche oder direkt über die Kommandozeile.
- Ergebnisspeicherung: Speichert Bewertungen als CSV-Dateien und/oder XMP-Sidecar-Dateien.
- Anpassbare Prompts: System- und Benutzer-Prompts können konfiguriert werden, um die Bewertungskriterien und das Ausgabeformat der KI zu steuern.
- Bildkonvertierung: Verwendet
darktable-clizur Konvertierung von Originalbildern in temporäre JPEG-Dateien für die KI-Analyse. - Fortschrittsverfolgung: Im Web-Modus kann der Fortschritt der Bildverarbeitung verfolgt werden.
Voraussetzungen
- Python 3: Eine aktuelle Version von Python.
- pip: Der Python-Paketmanager.
- Darktable: Eine Open-Source-Fotobearbeitungssoftware.
darktable-climuss im Systempfad (PATH) verfügbar sein. - LM Studio oder eine kompatible lokale KI-API: Eine laufende Instanz, die dem OpenAI-Standard entspricht und unter der konfigurierten URL erreichbar ist (Standard:
http://localhost:1234/v1/chat/completions).
Installation der Python-Abhängigkeiten
Öffne dein Terminal oder deine Kommandozeile und führe den folgenden Befehl aus:
pip install pandas flask requests Dateistruktur
Stelle sicher, dass die folgenden Dateien im selben Verzeichnis liegen:
Ai-Rating.py: Das Hauptskript.ai_rating_utils.py: Eine Hilfsdatei mit gemeinsamen Funktionen.prompt.txt: Enthält den Benutzer-Prompt für die KI-Bewertung.system_prompt.txt: Enthält den System-Prompt, der die KI anweist, wie sie die Bilder bewerten soll.template.html: Die HTML-Vorlage für die Web-Oberfläche.
Wenn prompt.txt oder system_prompt.txt nicht existieren, werden sie beim ersten Start des Skripts mit Standardinhalten erstellt.
Konfiguration der Prompts
Die KI-Bewertung basiert auf zwei Prompts:
system_prompt.txt: Definiert die Bewertungskriterien und das gewünschte Ausgabeformat der KI.prompt.txt: Enthält die Anweisung an die KI, das Bild zu analysieren und zu bewerten.
Diese Dateien können manuell bearbeitet oder im Web-Modus über die Benutzeroberfläche angepasst und gespeichert werden.
Ausführung des Skripts
Konsolenmodus
Nützlich für die Stapelverarbeitung von Bildern ohne grafische Oberfläche.
Syntax:
python Ai-Rating.py <folder_path> [--subfolders] [--model <model_tag>] [--no-skip] [--csv] [--xmp] [--api-url <url>]
Argumente:
<folder_path>: Der Pfad zu dem Ordner, der die zu bewertenden Bilder enthält (Pflichtargument).--subfolders: (Optional) Verarbeitet auch Bilder in Unterordnern.--model <model_tag>: (Optional) Ein Tag für das verwendete KI-Modell.--no-skip: (Optional) Verarbeitet Bilder neu, auch wenn bereits Ergebnisse existieren.--csv: (Pflichtargument, wenn--xmpnicht angegeben ist) Speichert Ergebnisse in einer CSV-Datei.--xmp: (Pflichtargument, wenn--csvnicht angegeben ist) Speichert Ergebnisse in XMP-Sidecar-Dateien.--api-url <url>: (Optional) Überschreibt die Standard-URL der LM Studio API.
Web-Modus
Bietet eine benutzerfreundliche Oberfläche im Browser.
Starten des Servers:
python Ai-Rating.py [--host <host_address>] [--port <port_number>] [--api-url <url>]
Argumente:
--host <host_address>: (Optional) Die Host-Adresse (Standard:127.0.0.1).--port <port_number>: (Optional) Der Port (Standard:5000).--api-url <url>: (Optional) Überschreibt die Standard-URL der LM Studio API.
Nach dem Starten des Servers navigiere zu der angezeigten Adresse (standardmäßig http://127.0.0.1:5000).
Funktionsweise
- Bildkonvertierung:
darktable-clikonvertiert Originalbilder in temporäre JPEG-Dateien. - KI-Bewertung: Die JPEGs werden zusammen mit den Prompts an die lokale KI-API gesendet.
- Ergebnis-Parsing: Die KI-Antwort wird geparst, um Bewertungskriterien, Gesamtbewertung und Keywords zu extrahieren.
- Speichern der Ergebnisse:
- CSV: Ergebnisse werden in
ai_rating_results_<model_tag>.csvgespeichert. - XMP: XMP-Sidecar-Dateien werden für jedes Bild erstellt oder aktualisiert.
- CSV: Ergebnisse werden in
Fehlerbehebung
darktable-clinicht gefunden: Stelle sicher, dass Darktable installiert ist und der Pfad zudarktable-cliin deiner System-PATH-Variable enthalten ist.- API-Fehler: Überprüfe, ob die lokale KI-API läuft und erreichbar ist.
- Prompts nicht gefunden: Das Skript erstellt
prompt.txtundsystem_prompt.txtautomatisch. - Keine Ausgabe (CSV/XMP): Stelle sicher, dass die entsprechenden Optionen im Konsolen- oder Web-Modus aktiviert sind.
Changelog
- v2.1: Verbesserte Fehlerbehandlung, Timing-Logs
- v2.0: Erste Version mit XMP-Support
Support
Für Fragen, Bugs oder Beiträge: www.net-fx.de, viel Spaß mit KI-gestütztem Tagging! 📸🤖