Dataset Tools for Metadata & Captioning
详情
下载文件
关于此版本
模型描述
数据集工具:AI 元数据查看器
Dataset Tools 是一款桌面应用程序,旨在帮助用户浏览和管理其图像数据集,特别是用于 AI 艺术生成工具(如 Stable Diffusion WebUI Forge、A1111、ComfyUI)和模型文件(如 Safetensors)的数据集。该工具使用 Python 和 PyQt6 开发,提供直观的图形界面,用于浏览文件、查看嵌入的生成参数以及检查相关元数据。
本项目受到 AI 艺术社区工具的启发,尤其是 receyuki 的 stable-diffusion-prompt-reader,旨在帮助用户优化其数据集整理工作流程。我们欢迎贡献!欢迎分叉仓库并提交拉取请求!
联系与支持我们
功能
轻量且快速:专为快速加载和高效元数据显示而设计。
跨平台:使用 Python 和 PyQt6 构建(兼容 Windows、macOS、Linux)。
全面的元数据查看:
- 清晰显示提示信息(正向、负向、SDXL 特有)。
- 展示来自各种 AI 工具的详细生成参数。
直观的文件处理:
- 拖放:轻松加载单个图像文件或整个文件夹。拖入的文件会自动选中。
- 文件夹浏览与文件列表导航。
图像预览:为选中图像提供清晰、可缩放的预览。
复制元数据:一键将解析的元数据复制到剪贴板。
可主题化的界面:支持通过
qt-material应用主题(如 dark_pink、light_lightgreen_500)。高级元数据引擎:
- 完全重构的解析系统:全新的 MetadataEngine,具备优先级检测、强大的 Unicode 处理和全面的格式支持。
- 增强的 ComfyUI 支持:高级工作流遍历、节点连接分析,支持现代自定义节点(如 smZ CLIPTextEncode 等)。
- CivitAI 集成:全面支持 CivitAI 的双元数据格式,包含 URN 资源提取和工作流解析。
- 坚如磐石的 Unicode 处理:通过完备的回退链和鲁棒编码检测,彻底消除乱码问题。
- A1111 格式修复:修复并增强 A1111 JPEG 支持,改进检测规则。
- 智能回退系统:当专用解析器无法处理文件时,系统会优雅地回退至内置解析器,确保最大兼容性。
- 25+ 专用解析器:为多种 AI 工具和平台提供专用解析器,持续扩展中。
- 模型文件支持:增强元数据查看功能(Safetensors 和 GGUF 支持即将推出!)
可配置日志:通过命令行参数控制应用日志的详细程度,便于调试。
已知问题
Material 主题兼容性:集成的
qt-material主题虽然视觉效果出色,但并非 100% 兼容所有 PyQt6/Qt6 元素。尽管应用仍可正常运行,但可能存在一些细微的视觉不一致。我们正积极寻找替代方案,并计划在未来迁移到 Tkinter,以解决这些及其他兼容性问题。高级解析器:高级解析功能已完成约 75%。目前我们难以让大量 T5 类模型在 ComfyUI 中被正确解析。如果您或您认识的人使用 ComfyUI,并能提供有关工作流或当前使用节点的信息,我们将非常感激!
Draw Things:XMP 提取器可能有效,但由于对 Draw Things 的数据有限,且原始内置代码当前无法运行,我们尚不确定其实际工作情况。
支持的格式
Dataset-Tools 旨在从多种来源读取元数据。当前支持能力包括:
AI 图像元数据:
- A1111 webUI / Forge:PNG(parameters 块)、JPEG/WEBP(UserComment)。
- ComfyUI:
- 标准 PNG(在 "prompt" 块中嵌入工作流 JSON)。
- Civitai 生成的 JPEG/PNG(UserComment JSON,含 "extraMetadata")。
- 高级 ComfyUI 工作流:虽然支持许多工作流,但部分复杂或自定义的 ComfyUI 工作流可能尚未完全解析。我们正持续改进兼容性。请提供未解析的工作流示例以帮助我们改进!
- NovelAI:PNG(旧版 "Software" 标签及 "Comment" JSON;Alpha 通道中的 Stealth LSB)。
- Midjourney:流行规则!这是旧时代的黄金标准(嘘,我凌晨一点写的)。
- InvokeAI:(当前正在重构,此版本可能无法正确解析。修复计划在下一次重大更新中推出。)
- Easy Diffusion:PNG、JPEG、WEBP(嵌入 JSON 元数据)。
- Fooocus:PNG("Comment" 块 JSON)、JPEG(JFIF 注释 JSON)。
- Midjourney YAY
- RuinedFooocus:JPEG(UserComment JSON)。
- Draw Things:(当前正在重构,此版本可能无法正确解析。修复计划在下一次重大更新中推出。)
- StableSwarmUI:PNG、JPEG(EXIF 或 PNG/UserComment 中的 "sui_image_params")。
- (其他格式的支持正在开发中,详情请参阅问题或讨论)
即将推出和/或部分支持的文件类型
模型文件元数据(头部信息):
.safetensors.gguf
其他文件类型:
.txt:显示内容。.json、.toml:显示内容(未来:结构化视图)。
安装
安装非常简单,且跨平台。由于可执行文件可能导致未来问题(当开发者无法确定其工作原理时),目前我们仍处于密集开发阶段,发布可执行文件至少还需数月甚至近一年。然而,将工具推送到 PYPI 以外的包管理系统计划正在顺利进行中。接下来我们将优先支持 Homebrew,以及 Windows 和 Linux 的兼容包管理器!
🚀 快速安装(推荐)
一条命令即可完成:
pip install kn-dataset-tools
dataset-tools
要求:Python 3.10 或更高版本
搞定!工具将启动带有 GUI 界面的 AI 元数据查看器。
📦 从源码安装
如果您希望获取最新开发版本:
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 . # 开发用可编辑安装
🆚 与 SD Prompt Reader 对比
与专注于基础提示查看的 SD Prompt Reader 不同,Dataset Tools 提供:
- 高级 ComfyUI 工作流分析
- LoRA 训练元数据提取
- 25+ 专用 AI 格式解析器
- 模型文件支持(SafeTensors、GGUF)
- 全面的元数据引擎
两款工具都非常优秀! 请选择更符合您工作流程的那一个。
使用方法
启动应用程序
python dataset_tools
安装后,从终端运行应用程序:
dataset-tools
高级命令行选项
python -m dataset_tools.main [选项]
提示
--log-level LEVEL:设置日志详细程度。
选项:DEBUG、INFO(默认)、WARNING、ERROR、CRITICAL。简写形式:d、i、w、e、c(不区分大小写)。
示例:python -m dataset_tools.main --log-level DEBUG
GUI 交互
加载文件:
- 点击“打开文件夹”按钮,或使用“文件 > 更改文件夹...”菜单选项。
- 拖放:将单个图像/模型文件或整个文件夹直接拖到应用程序窗口上。
- 如果拖入单个文件,其父文件夹将被加载,且该文件将自动在列表中选中。
- 如果拖入文件夹,该文件夹将被加载。
导航:
从左侧面板的列表中选择文件以查看其详细信息。
- 图像预览:选中的图像将在右侧预览区显示。非图像文件或无法预览的文件将显示“无可用预览”信息。
- 元数据显示:解析的提示(正向、负向)、生成参数(步数、采样器、CFG、种子等)及其他相关信息将显示在图像预览下方/旁边的文字区域中。提示信息和生成信息的标题将根据检测内容自动更新。
- 复制元数据:使用“复制元数据”按钮,将当前显示的解析元数据(来自文字区域)复制到系统剪贴板。
- 文件列表操作:排序文件:点击“排序文件”按钮,按类型(图像 → 文本 → 模型)对文件列表进行字母排序。
- 设置与主题:通过底部的“设置...”按钮或“查看 > 主题”菜单访问应用设置(如显示主题、窗口大小偏好)以快速更改主题。
主题
目前,该应用中为 PyQt6 分支提供了大量令人震惊、夺目、刺眼且充满梗图风格的主题,均以 QSS 格式提供。未来开发将包括类似格式的 Tkinter 主题。请注意,本应用的主要开发者完全不懂 QSS,只是想提供一些好的和坏的主题。您可以通过访问 QSS 主题 使用这些主题。您应该能将自定义的 QSS 样式表放入主题文件夹中。我们的疯狂并非必需,您也无需感谢我们。是的,我们已提供主题信息免责声明,我们不拥有其中任何名称、品牌或概念,也无意冒犯——请相信我,没人会因为使用“只有母亲才会爱的颜色”这个主题而嘲笑你,你肯定想试试。
我们还使用了以下导入主题:
未来开发路线图
核心功能:
模型文件支持: 完整的 Safetensors 和 GGUF 元数据显示与编辑功能。
完整元数据编辑: 高级图像元数据编辑与保存功能。
插件架构: 可扩展的插件系统,便于添加自定义解析器和功能。
批量操作: 从文件夹导出元数据、根据元数据重命名文件、批量处理。
高级搜索与过滤: 基于元数据内容和参数的数据集搜索与过滤。
用户体验:
增强的 UI/UX: 改进的提示显示,支持语法高亮的文本文件查看。(计划迁移至 Tkinter 以提升跨平台兼容性和 UI 一致性。)
主题系统扩展: 增加更多主题和自定义选项。
键盘快捷键: 为高级用户提供全面的快捷键支持。
平台与集成:
独立可执行文件: 为 Windows、macOS 和 Linux 提供原生构建版本。
PyPI 发布: 官方包分发,支持
pip install dataset-tools。CivitAI API 集成: 直接查询模型和资源。
跨平台兼容性: 增强对不同操作系统的支持。
技术改进:
全面的测试套件: 自动化测试以确保稳定性并防止回归。
增强的格式支持: 支持更多 AI 工具格式和元数据标准。
性能优化: 提升大型数据集的加载和处理速度。
错误处理: 改进错误报告与恢复机制。
生态系统集成:
数据集管理工具: 与 HuggingFace、模型下载器和转换工具集成。
工作流集成: 支持 AI 生成工作流与管道管理。
社区功能: 解析器共享、格式贡献系统。
贡献
欢迎您的贡献!无论是错误报告、功能请求、文档改进还是代码提交,请随时参与。
问题(Issues): 请查看问题标签页中已有的 bug 或建议。如未发现您的问题,请新建一个清晰描述并附上复现步骤(针对 bug)的 issue。
拉取请求(Pull Requests): 分叉本仓库,为您的功能或修复创建新分支(git checkout -b feature/您的功能名称 或 bugfix/问题编号)。进行修改并提交清晰、描述性强的提交信息。将分支推送至您的分叉仓库(git push origin feature/您的功能名称)。向 Ktiseos-Nyx/Dataset-Tools 仓库的主分支提交拉取请求,并在 PR 中清晰说明您的更改。
许可证
本项目依据 GNU 通用公共许可证 GPL 3.0 授权。完整许可证文本请参阅仓库根目录下的 LICENSE 文件。
致谢
核心解析逻辑与灵感来源: 本项目整合并显著改进了由 receyuki 开发的 Stable Diffusion Prompt Reader 的解析功能。感谢其基础性工作。原始仓库:stable-diffusion-prompt-reader 该嵌入代码的原始 MIT 许可证包含于 NOTICE.md 文件中。
UI 主题: 精美的 PyQt 主题得益于 qt-material(由 DunderLab 开发)、GTRONICK - GTRONICKS 以及 UNREAL STYLE SHEET 创建者 UNREAL STYLESHEET。
核心依赖库: 本项目依赖众多优秀的开源 Python 库,包括 Pillow、PyQt6、piexif、pyexiv2、toml、Pydantic 和 Rich。各库的许可证条款适用。
Anzhc 持续的支持与鼓励。
我们的同行及更广泛的 AI 与开源社区,感谢你们持续的支持与启发。
AI 语言模型(如来自 Google、OpenAI、Anthropic 的模型),在开发过程中协助代码生成、文档编写与问题解决。
……还有更多!
支持我们
如果您觉得 Dataset Tools 有用,请考虑支持创作者!













