Dataset Tools for Metadata & Captioning
세부 정보
파일 다운로드
이 버전에 대해
모델 설명
데이터셋 도구: AI 메타데이터 뷰어
Dataset Tools는 포괄적인 메타데이터 추출 기능을 통해 AI 이미지 데이터셋을 탐색하고 관리하는 데스크탑 애플리케이션입니다. A1111, ComfyUI, Civitai 또는 기타 도구에서 생성된 이미지를 정리하든, 멋진 이미지가 어떤 파라미터로 만들어졌는지 궁금하든, Dataset Tools가 모든 필요를 충족합니다.
Python과 PyQt6로 구축된 이 도구는 임베드된 생성 파라미터, ComfyUI 워크플로우, 모델 메타데이터 및 비AI 이미지의 카메라 EXIF 데이터까지 시각화할 수 있는 직관적인 인터페이스를 제공합니다.
미래 지향적 개발 우리는 프론트엔드를 Electron로 재구축하는 것을 고려 중입니다. 우려사항, 제안사항, 기타 의견이 있다면 Discord에 참여하거나 이슈를 열거나 GitHub 토론을 사용해 주세요. 우리는 PyQt6 브랜치에 대해 항상 버그 수정 및 오류 지원을 제공할 것입니다. 사용자들이 급격한 변화를 좋아하지 않는다는 점을 인지하고 있으며, 미래 전환을 가능한 한 원활하게 만들고자 합니다.
커뮤니티 주도 개발: 이 프로젝트는 stable-diffusion-prompt-reader에서 영감을 받았으며, 커뮤니티 기여에 힘입어 발전합니다. 버그를 발견하셨나요? 파싱되지 않는 워크플로우가 있나요? 새로운 도구 지원을 추가하고 싶으신가요? 포크, 수정, 풀 리퀘스트를 환영합니다! 이 도구는 커뮤니티가 만들고, 커뮤니티를 위해 존재합니다.
기능
가볍고 빠름: 지능형 캐싱을 통해 빠른 로딩과 효율적인 메타데이터 표시를 위해 설계되었습니다.
크로스 플랫폼: Python과 PyQt6로 구축 (Windows, macOS, Linux 호환).
유연한 뷰 모드:
썸네일 그리드 뷰: 썸네일 미리보기를 통해 이미지를 시각적으로 탐색합니다.
파일 트리 뷰: 확장 가능한 트리 구조로 폴더를 계층적으로 탐색합니다.
크기 조정 가능한 창: 창 크기를 원하는 대로 조정하면 모든 레이아웃이 동적으로 적응합니다.
포괄적인 메타데이터 보기:
프롬프트 정보(양성, 부정, SDXL 전용)를 명확히 표시합니다.
다양한 AI 도구의 상세 생성 파라미터를 표시합니다.
메타데이터 편집: 애플리케이션 내에서 이미지 메타데이터를 수정하고 저장합니다.
비AI 이미지: 카메라 및 소프트웨어의 EXIF/XMP 데이터를 볼 수 있습니다. (개인정보 주의: GPS 좌표는 추출하지 않습니다. macOS에서 블루투스 스팸을 누가 알겠어요? 😄)
직관적인 파일 처리:
드래그 앤 드롭: 단일 이미지 파일 또는 전체 폴더를 쉽게 로드합니다. 드롭된 파일은 자동으로 선택됩니다.
폴더 탐색 및 파일 목록 탐색.
이미지 미리보기: 선택된 이미지의 명확하고 확대/축소 가능한 미리보기.
메타데이터 복사: 파싱된 메타데이터를 클릭 한 번으로 클립보드에 복사.
테마화 가능한 UI: 전문적인 테마부터 “어머니만 사랑할 법한 색상”까지 40개 이상의 테마를 제공하는 테마 브라우저.
고급 메타데이터 엔진:
완전히 재구성된 파서 시스템: 우선순위 기반 감지, 강력한 유니코드 처리 및 포괄적인 형식 지원을 갖춘 새로운 메타데이터엔진.
향상된 ComfyUI 지원: 고급 워크플로우 트래버설, 노드 연결 분석 및 최신 커스텀 노드 지원.
CivitAI 통합: URN 리소스 추출 및 Civitai API 통합(향상된 리소스 데이터를 위해 API 키 필요)을 위한 이중 메타데이터 형식 지원.
완벽한 유니코드 처리: 포괄적인 백업 체인과 강력한 인코딩 감지를 통해 모자이크 문제를 해결.
지능형 캐싱: 중복 파싱을 줄여 빠른 탐색을 지원.
지능형 백업 시스템: 특수 파서가 파일을 처리할 수 없을 경우, 시스템은 내장된 파서로 부드럽게 백업하여 최대 호환성을 보장.
25개 이상의 전문 파서: 다양한 AI 도구 및 플랫폼을 위한 전용 파서 및 지속적인 확장.
모델 파일 지원: 향상된 메타데이터 보기 기능(Safetensors 및 GGUF 지원 진행 중!).
설정 가능한 로깅: 디버깅을 위해 앱 로그의 자세함을 조절할 수 있습니다. (디버그 모드 참조)
알려진 문제
UI 제한 사항 (v0.x)
PyQt6 레이아웃 문제: 현재 PyQt6 UI는 다양한 화면 해상도에서 뷰포트 크기 조정 및 버튼 중앙 정렬에 알려진 제한이 있습니다. 기능은 작동하지만, 창 크기를 조정하거나 비표준 디스플레이 구성(4K, 5K Retina 등)을 사용할 때 일부 레이아웃 요소가 일관되지 않게 보일 수 있습니다.
Material 테마 호환성: 통합된
qt-material테마는 시각적으로 매력적이지만, 모든 PyQt6/Qt6 요소와 100% 호환되지 않습니다. 일부 미세한 시각적 불일치가 존재할 수 있습니다.향후 UI 방향: 이 UI 제한 사항을 해결하고, 더 나은 테마 유연성, 개선된 크로스 플랫폼 일관성, 그리고 헤드리스/CLI 통합을 가능하게 하기 위해 v1.0에서 Electron으로 전환하는 것을 적극적으로 탐색 중입니다. Python 파서 커어는 그대로 유지되며, UI 레이어만 재작성됩니다. 이 계획은 현재 검토 중입니다. Chromium/Electron에 대한 우려(개인정보, 리소스 사용 등)나 대안 제안이 있다면, 이슈 또는 Discord에서 토론에 참여해 주세요.
파서 상태
고급 파서: 고급 파싱은 약 75% 완료되었습니다. 우리는 끊임없이 예외 케이스를 정리하고 추출 정확도를 향상시키고 있습니다. 현재 ComfyUI에서 T5 스타일 모델을 파싱하는 데 어려움을 겪고 있습니다. ComfyUI를 사용하시고 워크플로우나 현재 사용 중인 노드에 대한 정보를 제공해 주시면 정말 감사하겠습니다.
Draw Things: XMP 추출기가 작동할 수도 있지만, DrawThings에 대한 데이터가 제한적이며 원본 내장 코드가 현재 작동하지 않아 어떻게 작동하는지 확신할 수 없습니다.
참고: 이 소프트웨어는 활발히 개발 중인 버전(v0.x)입니다. 버그를 수정하고 기능을 정교화하는 중입니다. 약간의 불편함이 있을 수 있으나, 핵심 파싱은 안정적입니다!
지원되는 형식
Dataset-Tools는 다양한 소스에서 메타데이터를 읽는 것을 목표로 합니다. 현재 지원 기능:
AI 이미지 메타데이터:
AI 이미지 생성 도구:
Automatic1111 WebUI / Forge: PNG(파라미터 청크), JPEG/WEBP(UserComment EXIF)
ComfyUI: (추출은 절대 100%가 아닙니다 - 누구든 항상 문제를 일으키는 워크플로우를 만듭니다! 그러나 최신 커스텀 노드 지원을 위해 항상 노력하고 있습니다.)
표준 워크플로우(PNG "prompt"/"workflow" 청크)
FLUX 워크플로우(UNETLoader, ModelSamplingFlux, FluxGuidance)
SD3, SDXL, SD1.5 워크플로우
Efficiency Nodes(Efficient Loader, KSampler Efficient)
DynamicPrompts(와일드카드를 사용한 배치 생성)
QuadMoon 커스텀 노드(앱을 깨뜨린 Joel Traugdor에게 감사드리며, 코드 감독도 해주셨습니다!)
HiDream 워크플로우
ComfyRoll 생태계
Griptape 워크플로우
PixArt/T5 기반 모델
AuraFlow, Lumina, Kolors
고급 샘플러(SamplerCustomAdvanced, BasicGuider)
텍스트 결합기 및 프롬프트 조작 노드
그 외 다양한 커스텀 노드 생태계!
CivitAI 이미지:
FLUX 생성 이미지(A1111 및 ComfyUI 형식)
A1111 스타일 생성
Civitai에서 내보낸 ComfyUI 워크플로우
LoRA 트레이너 출력
Civitai API로 향상됨: URN 추출 및 리소스 조회(API 키는 설정에서 필요)
InvokeAI: PNG/JPEG 메타데이터 추출
Draw Things: XMP 메타데이터 지원(macOS/iOS)
SwarmUI / StableSwarmUI: PNG/JPEG 파라미터 추출
Fooocus / RuinedFooocus: Comment 및 UserComment 메타데이터
Easy Diffusion: 내장 JSON 메타데이터
Mochi Diffusion: macOS 전용 형식 지원
NovelAI: PNG(레거시 "Software" 태그, "Comment" JSON, Stealth LSB 알파 채널)
Midjourney: Discord 시대 메타데이터 형식
비AI 이미지:
카메라/사진 메타데이터: 카메라 및 사진 편집 소프트웨어의 EXIF, IPTC, XMP 데이터
개인정보 주의: 우리는 의도적으로 GPS 좌표를 추출하지 않습니다. 귀하의 위치 데이터는 안전하게 보호됩니다! (이는 macOS에서 PyQt6가 블루투스를 필요로 하기 때문이기도 합니다)
모델 파일 메타데이터(헤더 정보):
.safetensors - Lora(및 관련 유형)만.gguf (미확인)
기타 파일 유형:
.txt: 콘텐츠 표시.json: 콘텐츠 표시
참고: 비이미지 파일은 그리드 뷰에서 썸네일을 아직 표시하지 않을 수 있습니다. 더 나은 파일 유형 시각화를 위해 SVG 아이콘을 추가 중입니다!
의존성
Dataset-Tools는 여러 훌륭한 오픈소스 라이브러리에 의존합니다.
핵심 의존성:
PyQt6 - GUI 프레임워크(크로스플랫폼 데스크톱 인터페이스)
Pillow (PIL) - 이미지 처리 및 메타데이터 추출
pyexiv2 - 고급 EXIF/IPTC/XMP 메타데이터 읽기( pypng 통합으로 향상)
pypng - 큰 ComfyUI 워크플로우용 PNG 청크 읽기
piexif - 추가 EXIF 조작
pydantic - 데이터 검증 및 설정 관리
rich - 아름다운 터미널 출력 및 로깅 시스템
toml - 설정 파일 파싱
requests - Civitai API 통합을 위한 HTTP 요청
cryptography - CivitaiAPI 키를 위한 Fernet 암호화
NumPy - 워크플로우 향상된 NumPy 시스템
defusedxml - 안전한 메타데이터 추출
jsonpath-ng - Json Path 지원 ComfyUI 워크플로우
모든 의존성은 pip를 통해 자동으로 설치됩니다.
설치
설치는 간단하며 크로스 플랫폼입니다. 실행 파일은 제공되지 않으며, 개발자가 그 작동 방식을 확신하지 못하는 경우 향후 문제가 발생할 수 있습니다. 현재 우리는 여전히 활발한 개발 중이므로, 실행 파일을 제공하는 것은 수개월에서 거의 1년은 더 걸릴 것입니다. 그러나 PYPI 외의 패키지 관리 시스템으로의 배포 계획은 완전히 진행 중입니다. 다음으로는 Brew 요구사항을 목표로 하며, Windows 및 Linux 호환 패키지 관리자도 계획 중입니다!
🚀 빠른 설치 (권장)
한 줄 명령어로 완료:
pip install kn-dataset-tools
dataset-tools
요구 사항: Python 3.10 이상
끝입니다! 도구는 AI 메타데이터를 보기 위한 GUI 인터페이스로 실행됩니다.
📦 소스에서 설치
최신 개발 버전을 원하신다면:
git clone https://github.com/Ktiseos-Nyx/Dataset-Tools.git
cd Dataset-Tools
pip install .
dataset-tools
🔧 고급 설치 (옵션)
가상 환경 사용:
# 가상 환경 생성
python -m venv dataset-tools-env
# 활성화
# Windows: dataset-tools-env\Scripts\activate
# macOS/Linux: source dataset-tools-env/bin/activate
# 설치
pip install kn-dataset-tools
UV를 사용한 설치(가장 빠름):
uv pip install kn-dataset-tools
기여자용:
git clone https://github.com/Ktiseos-Nyx/Dataset-Tools.git
cd Dataset-Tools
pip install -e . # 개발용 수정 가능 설치
사용법
응용 프로그램 실행
설치 후 터미널에서 다음 명령어로 응용 프로그램을 실행하세요:
dataset-tools
이제 끝입니다! GUI가 실행되어 AI 이미지 데이터셋을 탐색할 수 있습니다.
디버그 모드
고급 로깅 및 디버그 모드 확장 클릭
추출 문제를 해결하거나 버그를 보고하려면 상세 로그를 활성화하세요:
# 전체 디버그 출력(가장 자세함)
dataset-tools --log-level DEBUG
# 또는 짧은 형식 사용
dataset-tools --log-level d
# 기타 사용 가능한 로그 레벨
dataset-tools --log-level INFO # 기본값 - 일반 작동
dataset-tools --log-level WARNING # 경고만 표시
dataset-tools --log-level ERROR # 오류만 표시
디버그 로그는 파서 결정, 노드 감지 및 추출 단계를 상세히 보여주며, 특정 워크플로우가 올바르게 파싱되지 않는 이유를 파악하는 데 완벽합니다!
GUI 상호작용
파일 로드:
"폴더 열기" 버튼을 클릭하거나 파일 > 폴더 변경... 메뉴 옵션을 사용하세요.
드래그 앤 드롭: 단일 이미지/모델 파일 또는 전체 폴더를 응용 프로그램 창에 직접 드래그하세요.
단일 파일을 드래그하면, 해당 파일의 부모 폴더가 로드되고 파일 목록에서 자동으로 선택됩니다.
폴더를 드래그하면 해당 폴더가 로드됩니다.
탐색:
파일 선택: 목록/트리 뷰에서 파일을 선택하여 세부 정보를 확인하세요.
보기 모드:
썸네일 그리드: 이미지 미리보기로 시각적 탐색
파일 트리: 계층적 폴더 탐색
보기 메뉴를 통해 모드를 전환하세요.
이미지 미리보기:
선택한 이미지가 미리보기 창에 표시됩니다.
필요에 따라 확대, 이동, 크기 조정 가능
이미지가 아닌 파일은 "미리보기 사용 불가"로 표시됩니다.
메타데이터 표시:
프롬프트 정보: 긍정적 및 부정적 프롬프트
생성 파라미터: 스텝, 샘플러, CFG, 시드, 모델 등
원본 워크플로우: 사용 가능한 경우 전체 ComfyUI 워크플로우 JSON
메타데이터 편집: 편집 버튼을 클릭하여 메타데이터를 수정하고 저장하세요.
메타데이터 복사: 한 번의 클릭으로 클립보드에 복사
설정 및 구성:
테마: 설정 버튼 또는 보기 > 테마 메뉴에서 접근
Civitai API 키: 향상된 리소스 데이터를 위해 설정에 입력하세요.
창 크기: 모든 레이아웃은 크기 조정 가능하며, 워크플로우에 맞게 확장하세요!
글꼴 설정: 텍스트 표시를 사용자 정의하세요.
테마
Dataset-Tools는 내장 테마 브라우저를 통해 40개 이상의 테마를 제공합니다:
전문가용 테마: 진지한 작업을 위한
Material Design 테마: 현대적인 미학을 위한
레트로/콘솔 테마: 향수를 자극하는 터미널 분위기를 위한
밈 테마: "엄마만 좋아할 색상들" 같은 (네, 진짜입니다!)
사용자 정의 테마: 테마 폴더에 자신의 QSS 스타일시트를 추가하세요!
테마는 보기 > 테마 메뉴 또는 설정 버튼을 통해 접근할 수 있습니다. 우리의 테마 컬렉션은 아름다운 것부터... 의문스러운 것까지 다양합니다. 판단하지 않으며, 당신이 기분 좋게 만드는 것을 사용하세요!
테마 크레딧:
GTRONICK - QSS 테마 영감 (네온 버튼 스타일링)
Unreal Stylesheet - Unreal Engine 영감 테마
Dunderlab Qt-Material - Material Design 영감 (우리는 그들의 뛰어난 작업을 바탕으로 맞춤형 호환 테마를 제작했습니다)
QSS 테마 저장소 - 우리의 맞춤형 컬렉션 (이 저장소는 몇 달 동안 업데이트되지 않음)
Material 테마에 대한 참고사항: 우리는 이전에 Dunderlab의 qt-material 종속성을 사용했으나, 이 도구의 과도하게 스타일화된 QSS가 PyQt6 위젯과의 일부 UI 오작동 및 호환성 문제를 일으켰습니다. 따라서 우리는 이 도구를 대체하여, 동일한 시각적 미학을 유지하면서도 우리 애플리케이션에 더 잘 맞는 Material Design 영감 테마를 자체 개발했습니다. Dunderlab qt-material 프로젝트에 깊이 감사드립니다 — 그들의 작업은 뛰어났으며, 단지 우리 위젯 구조에 특화된 테마가 필요했을 뿐입니다. 스크린샷에서 MATERIAL 테마가 여전히 설치된 것으로 보이는 이유는 우리 중 한 명이 재설치를 잊었기 때문입니다.
전체 테마 라이선스 및 크레딧은 NOTICE.md를 참조하세요.
향후 개발 로드맵
핵심 기능:
모델 파일 지원: Safetensors 및 GGUF 메타데이터 표시 및 편집 기능 완성
완전한 메타데이터 편집: 이미지 메타데이터의 고급 편집 및 저장 기능
플러그인 아키텍처: 사용자 정의 파서 및 기능을 쉽게 추가할 수 있는 확장 가능한 플러그인 시스템
일괄 작업: 폴더에서 메타데이터 내보내기, 메타데이터 기반 파일명 변경, 대량 처리
고급 검색 및 필터링: 메타데이터 콘텐츠 및 파라미터를 기반으로 데이터셋 검색 및 필터링
사용자 경험:
향상된 UI/UX: 프롬프트 표시 개선, 구문 강조 기능을 갖춘 텍스트 파일 보기 향상. (더 나은 크로스 플랫폼 호환성과 UI 일관성을 위해 Electron로의 이전 계획 중)
테마 시스템 확장: 추가 테마 및 사용자 정의 옵션
키보드 단축키: 고급 사용자를 위한 포괄적인 단축키 지원
플랫폼 및 통합:
독립 실행 파일: Windows, macOS, Linux용 네이티브 빌드
헤드리스 CLI: GUI로부터 분리되어 고급 사용자가 원하는 프론트엔드 UI를 선택할 수 있게 함. (Discord 봇 개발 시에도 유용함!)
PyPI 배포:
pip install dataset-tools로 쉽게 설치 가능한 공식 패키지 배포CivitAI API 통합: 모델 및 리소스 직접 조회 기능
크로스 플랫폼 호환성: 다양한 운영체제에 대한 강화된 지원
기술 개선:
포괄적인 테스트 스위트: 안정성 확보 및 회귀 방지를 위한 자동 테스트. (아직 완성하지 못함)
향상된 형식 지원: 추가 AI 도구 형식 및 메타데이터 표준
성능 최적화: 대규모 데이터셋의 빠른 로딩 및 처리
오류 처리: 향상된 오류 보고 및 복구 메커니즘
개선된 보안: API 키에 fernet을 추가했으나, 아직 다른 취약점이 존재하며 해결 중입니다.
에코시스템 통합:
데이터셋 관리 도구: HuggingFace, 모델 다운로더 및 변환 유틸리티와의 통합
워크플로우 통합: AI 생성 워크플로우 및 파이프라인 관리 지원
커뮤니티 기능: 파서 공유, 형식 기여 시스템
기여
フォー크, 수정, 실험을 환영합니다! Dataset-Tools는 커뮤니티 기반 프로젝트입니다. 다음과 같은 기여를 자유롭게 해주세요:
フォー크하여 본인만의 버전으로 만들기
깨뜨려보고 어떤 일이 일어나는지 확인하기 (그 후 알려주세요!)
버그 발견 시 수정
새 파서 또는 기능 추가
유용할 수 있는 다른 사람들과 공유
어떻게 기여할 수 있나요?
버그를 발견하셨나요?
이슈 탭에서 이미 보고되었는지 확인하세요.
아니라면 다음 정보와 함께 새 이슈를 열어주세요:
문제에 대한 명확한 설명
재현 단계
파싱 문제인 경우 예시 이미지
--log-level DEBUG를 활성화한 로그 출력
새 도구/노드 지원을 추가하고 싶으신가요?
메타데이터를 포함한 예시 이미지를 GitHub 이슈에 공유하세요.
워크플로우 구조를 알려주세요.
우리는 항상 지원할 새로운 ComfyUI 맞춤 노드를 찾고 있습니다!
코드 기여:
저장소를 포크하세요
브랜치 생성:
git checkout -b feature/your-feature-name명확한 커밋 메시지와 함께 변경 사항을 적용하세요
포크에 푸시:
git push origin feature/your-feature-name변경 사항 설명과 함께 풀 리퀘스트를 제출하세요
ComfyUI 노드 지원:
현실 인식: ComfyUI 추출은 절대 100% 완성되지 않습니다. 누군가 워크플로우를 만들어 사용하고, 이미지를 보내주면... 언제나 깨집니다. 😂 그러나 우리는 항상 최신 노드를 지원하기 위해 노력하고 있습니다! 파싱이 올바르지 않은 워크플로우가 있다면, 공유해 주세요. 지원을 추가하겠습니다.
작은 기여도 소중합니다 — 오타 수정, 문서 개선, 질문도 모두 가치 있습니다!
라이선스
이 프로젝트는 GNU GENERAL PUBLIC LICENSE GPL 3.0 조건에 따라 라이선스되며, 전체 라이선스 텍스트는 저장소 루트의 LICENSE 파일을 참조하세요.
감사의 말
핵심 파싱 로직 및 영감: 이 프로젝트는 receyuki의 Stable Diffusion Prompt Reader에서 파생된 파싱 기능을 포함하고 크게 수정했습니다. 이 기초 작업에 진심으로 감사드립니다. 원본 저장소: stable-diffusion-prompt-reader 해당 도입 코드의 원본 MIT 라이선스는 NOTICE.md 파일에 포함되어 있습니다.
UI 테마: 아름다운 PyQt 테마는 DunderLab의 qt-material, GTRONICK - GTRONICKS, 그리고 UNREAL STYLE SHEET 제작자 UNREAL STYLESHEET 덕분에 가능합니다.
필수 라이브러리: 이 프로젝트는 Pillow, PyQt6, piexif, pyexiv2, toml, Pydantic, Rich 등의 훌륭한 오픈소스 Python 라이브러리에 의존합니다. 각각의 라이선스가 적용됩니다.
지속적인 지원과 동기부여를 해준 Anzhc
우리의 동료들과 넓은 AI 및 오픈소스 커뮤니티의 끊임없는 지원과 영감
개발 중 코드 생성, 문서 작성 및 문제 해결에 도움을 준 AI 언어 모델(예: Google, OpenAI, Anthropic 등)
그리고 그 외 수많은 분들!
특별한 감사의 말
감독: @traugdor90
특별히 감사할 기여자들: Open Source Community, Whitevamp, Exdysa 및 그 외 많은 분들
우리를 지원해주세요
Dataset Tools가 유용하다고 생각하신다면, 제작자를 지원해 주세요!











