LLMImageIndexer 是一款智慧型影像處理和索引工具,利用本機 AI 為您的影像集合產生全面的元資料。該工具使用高級語言模型來分析圖像並產生標題和關鍵字符資料。
智慧型影像分析:利用本地人工智慧模型為每張影像產生可變數量的關鍵字和標題。
元資料增強:可以使用產生的標籤自動編輯影像元資料。
本地處理:所有處理都在您的電腦上本地完成。
多格式支援:處理多種影像格式,包括所有主要的原始相機檔案。
使用者友善的 GUI :包括 GUI 和安裝程式。依賴 Koboldcpp(單一可執行檔)來實現所有 AI 功能。
GPU 加速:如果可以的話,將使用 Apple Metal、Nvidia CUDA 或 AMD (Vulkan) 硬體來大幅加快推理速度。
跨平台:支援Windows、macOS ARM和Linux。
停止和啟動功能:可以停止和啟動,而無需再次重新處理所有檔案。
關鍵字後處理:擴展關鍵字,以便將所有同義詞添加到具有同義詞之一的每張圖像中,或者透過使用最常用的同義詞代替所有匹配同義詞來刪除重複的關鍵字。
在繼續使用此腳本之前,您應該了解以下內容:
這是一個由完全不熟悉專業攝影師使用的正式協議的人製作的專案。如果您依靠攝影來支付帳單,則應該在對任何重要的事情運行該腳本之前廣泛測試該腳本的效果
如果指示寫入元數據,它將使用 exiftool 寫入以下標籤:MWG:關鍵字、XMP:描述、狀態、XMP:標識符。這些不一定是 exiftool 決定將要使用的標籤的名稱。 exiftool 開發人員可能是文件元資料模式方面最重要的專家,並且比我希望的更好地知道放置元資料的適當位置。我確實花了很多時間來使其盡可能“低影響”,同時仍然保持跟踪已處理圖像的狀態的能力,而無需中央數據庫或信息存儲庫,以便文件可以移動到任何地方或重命名,而無需使用中央資料庫或資訊儲存庫。
這是一個相當技術性的過程。希望一切正常,我試圖做到這一點,但我在其他機器或平台上測試這一點的能力有限(re:none),因此可能會出現任何數量的錯誤。我會努力與人們合作解決問題,但您應該具備排除故障並遵循指示的技術技能。如果你做不到這一點,你應該猶豫不決地繼續。
Python 3.8 或更高版本
狗頭人CPP
需要一個視覺模型,但如果您使用 llmii-run.bat 打開它,那麼第一次運行時,它將從 Huggingface 上的 Bartowski 儲存庫下載 MiniCPM-V 2.6 Q4_K_M gguf 和 F16 投影機。如果您不想使用它,只需打開 llmii-no-kobold.bat 並打開 Koboldcpp.exe 並加載您喜歡的任何模型。
克隆儲存庫或下載 ZIP 檔案並將其解壓縮。
安裝適用於 Windows 的 Python。
下載 KoboldCPP.exe 並將其放置在 LlavaImageTagger 資料夾中。如果它的名稱不是 KoboldCPP.exe,請將其重新命名為 KoboldCPP.exe
運行llmii-run.bat
並等待 exiftool 安裝。完成後,您必須再次啟動該文件。如果您從終端機視窗呼叫它,則需要關閉視窗並重新開啟它。然後它將創建一個 python 環境並下載模型權重。下載相當大(6GB)且沒有進度條,但只需要執行一次。完成後,KoboldCPP 將啟動,其中一個終端視窗將顯示Please connect to custom endpoint at http://localhost:5001
,然後就準備好了。
克隆儲存庫或下載 ZIP 檔案並將其解壓縮。
如果尚未安裝,請安裝 Python 3.7 或更高版本。您可以使用自製程序:
brew install python
安裝 Exif 工具:
brew install exiftool
下載適用於 macOS 的 KoboldCPP 並將其放入 LLMImageIndexer 資料夾中。
在 LLMImageIndexer 資料夾中開啟終端並運行:
chmod +x koboldcpp-mac-arm64 ./llmii-run.sh
克隆儲存庫或下載並解壓縮 ZIP 檔案。
如果尚未安裝,請安裝 Python 3.7 或更高版本。使用您的發行版的套件管理器,例如在 Ubuntu 上:
sudo apt-get update sudo apt-get install python3 python3-pip
安裝 Exif 工具。在Ubuntu上:
sudo apt-get install libimage-exiftool-perl
從 KoboldCPP 版本下載適合您的 Linux 發行版的 KoboldCPP 二進位文件,並將其放置在 LLMImageIndexer 資料夾中。
在 LLMImageIndexer 資料夾中開啟終端並運行:
chmod +x koboldcpp-linux-x64 ./llmii-run.sh
對於所有平台,該腳本將設定 Python 環境、安裝依賴項並下載必要的模型權重(總共 6GB)。此初始設定僅執行一次,並且需要幾分鐘時間,具體取決於您的下載速度。
啟動 LLMImageIndexer GUI:
在 Windows 上:執行llmii-run.bat
在 macOS/Linux 上:執行python3 llmii-gui.py
確保 KoboldCPP 正在運作。等到您在 KoboldCPP 視窗中看到以下訊息:
Please connect to custom endpoint at http://localhost:5001
在 GUI 中配置索引設定:
選擇目標圖片目錄
設定 API URL(預設:http://localhost:5001)
選擇要產生的元資料標籤(關鍵字、描述)
設定附加選項(抓取子目錄、備份檔案等)
按一下“運行圖像索引器”開始該過程。
監視 GUI 輸出區域中的進度。
Directory :目標映像目錄(預設包含子目錄)
API URL : KoboldCPP API 端點(如果在另一台機器上執行則變更)
API 密碼:如果您的 KoboldCPP 設定需要,請設定
說明文字:讓 LLM 描述圖像並將其設定在 XMP:Description 中(處理時間加倍)
GenTokens :LLM 產生的代幣數量
跳過不在資料庫中的已處理文件:不會嘗試重新處理具有 UUID 和關鍵字的文件,即使它們不在 llmii.json 資料庫中
重新處理失敗:如果上一輪有任何檔案失敗,它將嘗試再次處理它們
重新處理全部:已處理的檔案儲存在資料庫中,如果稍後恢復,則跳過,這將重新處理它們
不要抓取子目錄:停用子目錄掃描
寫入前不要進行備份:跳過建立備份檔案(注意:這適用於處理和後處理;如果您啟用後處理並保留此選項,它將進行第二次備份!)
假裝模式:模擬處理而不寫入檔案或資料庫
跳過處理:如果您想使用關鍵字處理並且不希望它在開始之前檢查目錄中的每個圖像,請選中此框
關鍵字:選擇清除並寫入新關鍵字或更新現有關鍵字
後處理關鍵字:保持產生的關鍵字,透過將所有同義詞應用於匹配關鍵字來擴展關鍵字,或透過用最常見的同義詞替換匹配同義詞來 Dedepe 關鍵字;這些選項在索引器完成後發生,除非選取「跳過處理」框
請參閱 wiki 以取得更多資訊和故障排除步驟。
歡迎貢獻!請隨時提交 Pull 請求。
該項目根據 MIT 許可證獲得許可 - 有關詳細信息,請參閱許可證文件。
用於元資料操作的 ExifTool
用於本地 AI 處理的 KoboldCPP
PyQt6 GUI 框架
修復損壞的 JSON 和 Json Repair 以協助解決損壞的 JSON 解析