genai-tag-db-toolsは、異なるプラットフォーム間でタグ、その翻訳、使用回数、関連性を統一したデータベースとして管理するためのツールセットです。このプロジェクトは、さまざまなソースからタグデータを収集し、整理し、効率的に検索・管理できるようにすることを目的としています。
- タグの検索と管理
- タグの翻訳管理(多言語サポート)
- 異なるプラットフォーム間でのタグ種類の分類
- エイリアスと推奨タグの管理
- 異なるフォーマットでのタグ使用回数の追跡
- タグ統計情報の表示
- CSVファイルからのデータインポート
genai-tag-db-tools/
├── genai_tag_db_tools/ # メインパッケージ
│ ├── core/ # コア機能
│ │ └── processor.py # データ処理ロジック
│ ├── gui/ # GUIコンポーネント
│ │ ├── designer/ # UI定義ファイル
│ │ ├── widgets/ # カスタムウィジェット
│ │ └── windows/ # メインウィンドウ実装
│ └── main.py # エントリーポイント
├── tools/ # ユーティリティスクリプト
├── data/ # データファイル
├── test/ # テストコード
├── pyproject.toml # プロジェクト設定
└── README.md
データベースはSQLiteで実装され、以下の主要なテーブルで構成されています:
-
TAGS
: タグの基本情報tag_id
: プライマリーキーsource_tag
: 元のタグ文字列tag
: 正規化されたタグ
-
TAG_TRANSLATIONS
: 多言語対応translation_id
: プライマリーキーtag_id
: TAGSテーブルへの参照language
: 言語コードtranslation
: 翻訳テキスト
-
TAG_FORMATS
: タグのフォーマット定義format_id
: プライマリーキーformat_name
: フォーマット名description
: 説明
-
TAG_TYPE_NAME
: タグタイプの定義type_name_id
: プライマリーキーtype_name
: タイプ名description
: 説明
TAG_TYPE_FORMAT_MAPPING
: タイプとフォーマットの関連付けTAG_USAGE_COUNTS
: 使用頻度の追跡TAG_STATUS
: タグのステータス管理
- リポジトリのクローン:
git clone https://github.com/yourusername/genai-tag-db-tools.git
cd genai-tag-db-tools
- 開発環境のセットアップ:
py -3.12 -m venv venv
venv\Scripts\Activate.ps1
pip install -e ".[dev]"
試してないけど以下の方法でもインストールできるはず
- 仮想環境のセットアップ
cd ワークスペースパス
py -3.12 -m venv venv
venv\Scripts\Activate.ps1
- インストール
pip install git+https://github.com/NEXTAltair/genai-tag-db-tools.git
pip uninstall genai-tag-db-tools
python -m genai_tag_db_tools
-
タグ検索
- キーワード検索
- フォーマット別フィルタリング
- タイプ別フィルタリング
- 翻訳検索
-
タグクリーナー
- タグの正規化
- 非推奨タグの検出
- 推奨タグへの変換
-
タグ登録
- 新規タグの追加
- 既存タグの更新
- タグ関係の管理
-
タグ統計
- 使用頻度分析
- フォーマット別統計
- タイプ別分布
pytest
このプロジェクトはPEP 8に従い、コードフォーマッタには black
を使用。
black genai_tag_db_tools
このプロジェクトは以下の主要なデータソースを使用しています:
- DominikDoom/a1111-sd-webui-tagcomplete: tags.dbの基となったCSVタグデータ
- applemango氏による日本語翻訳: CSVタグデータの日本語翻訳
- としあき製作のCSVタグデータの日本語翻訳
- AngelBottomless/danbooru-2023-sqlite-fixed-7110548: danbooruタグのデータベース
- hearmeneigh/e621-rising-v3-preliminary-data: e621およびrule34タグのデータベース
- p1atdev/danbooru-ja-tag-pair-20241015: danbooruタグの日本語翻訳データベース
- toynya/Z3D-E621-Convnext: e621 tagger convnext model のタグcsv #TODO: まだ反映させてない
- Updated danbooru.csv(2024-10-16) for WebUI Tag Autocomplete: WebUI Tag Autocompleteのデフォルトのdanbooru.csvはやや古くなっているようなので、2024年10月16日時点での新しいデータに更新しました。#TODO: まだ反映させてない
このプロジェクトはMITライセンスの下で公開されています。詳細はLICENSEファイルを参照してください。
erDiagram
TAGS ||--o{ TAG_TRANSLATIONS : has
TAGS ||--o{ TAG_USAGE_COUNTS : has
TAGS ||--o{ TAG_STATUS : has
TAGS ||--o{ TAG_STATUS : is_preferred_by
TAG_FORMATS ||--o{ TAG_USAGE_COUNTS : has
TAG_FORMATS ||--o{ TAG_TYPE_FORMAT_MAPPING : has
TAG_TYPE_NAME ||--o{ TAG_TYPE_FORMAT_MAPPING : defines
TAG_TYPE_FORMAT_MAPPING ||--o{ TAG_STATUS : defines
TAGS {
int tag_id PK
string source_tag
string tag
}
TAG_TRANSLATIONS {
int translation_id PK
int tag_id FK
string language
string translation
}
TAG_FORMATS {
int format_id PK
string format_name
string description
}
TAG_TYPE_NAME {
int type_name_id PK
string type_name
string description
}
TAG_USAGE_COUNTS {
int format_id PK, FK
int tag_id PK, FK
int count
}
TAG_STATUS {
int tag_id PK, FK
int format_id PK, FK
int type_id FK
boolean alias
int preferred_tag_id FK
}
TAG_TYPE_FORMAT_MAPPING {
int format_id PK, FK
int type_id PK, FK
int type_name_id FK
}