Files
gpu-rent/docs/autocomplete.md
T
Leonid Pershin a563ae06c4 Bump version to 0.2.0 and enhance documentation
- Updated version number in pyproject.toml and __init__.py to 0.2.0.
- Revised README.md to reflect the current state of the project, including usage instructions and setup steps.
- Improved CLI documentation in cli.md, adding details about new commands and their functionalities.
- Enhanced the quick start section in README.md for better clarity on initial setup.
- Updated local folder documentation to clarify file handling and commands.
- Added a new command for listing GPU flavors and improved error handling in the CLI.
- Implemented a watchdog feature in the tunnel to manage server states effectively.
2026-08-21 03:38:01 +03:00

5.1 KiB
Raw Blame History

Autocomplete промптов SwarmUI

Официальная инструкция: docs/Features/Autocompletions.md.

Нужен word-list (.csv / .txt) в Data/Autocompletions и выбранный источник в настройках пользователя. Без файла в UI нечего выбирать.

Поведение gpu-rent

Момент Действие
Первый диск / файла ещё нет Скачать с GitHub на VM в /mnt/swarm_data/Data/Autocompletions/<filename>. Прописать DefaultUser.AutoComplete.Source в Settings.fds до первого старта SwarmUI
Каждый последующий up (диск уже есть) Спросить GitHub blob sha того же пути. Если sha изменился — скачать заново, заменить файл, systemctl restart swarmui если UI уже крутится
AUTOCOMPLETE_ENABLED=false или URL пуст Ничего не качать, стоковый SwarmUI (только синтаксис <…>, без booru-тегов)

Это не одноразовый seed как модели: список тегов на GitHub обновляют. Проверка версии — часть каждого up, пока есть SSH.

Файл маленький (danbooru.csv ≈ 34 MB). Killer из‑за него не откладываем, но на первом bootstrap качаем до старта UI, вместе с extensions.

Откуда файл

Дефолт — то, на что ссылается сама документация SwarmUI:

  • репозиторий DominikDoom/a1111-sd-webui-tagcomplete
  • путь tags/danbooru.csv
  • raw: https://raw.githubusercontent.com/DominikDoom/a1111-sd-webui-tagcomplete/main/tags/danbooru.csv

Альтернативы из той же папки (e621.csv, danbooru_e621_merged.csv, …) или релизы BetaDoggo/danbooru-tag-list — через конфиг, не хардкод в коде кроме дефолта.

Куда класть

На data volume (уже примонтирован как /SwarmUI/Data):

/mnt/swarm_data/Data/Autocompletions/danbooru.csv
/mnt/swarm_data/Data/Autocompletions/danbooru.csv.gpu-rent-meta.json

На data volume: /mnt/swarm_data/Data/Autocompletions/danbooru.csv (bind → /opt/swarmui/Data/…).

Sidecar meta (не отдавать в Output):

{
  "repo": "DominikDoom/a1111-sd-webui-tagcomplete",
  "path": "tags/danbooru.csv",
  "ref": "main",
  "github_blob_sha": "7a3cba59…",
  "filename": "danbooru.csv",
  "fetched_at": "2026-08-21T00:00:00Z"
}

Как узнать, что файл новый

Не сравнивать «дату файла на диске». GitHub Contents API:

GET https://api.github.com/repos/{repo}/contents/{path}?ref={ref}

В ответе поле sha — blob git. Сравнить с github_blob_sha в sidecar. Совпало → ничего не качать. Другое → GET download_url (или raw), атомарно заменить файл, обновить sidecar.

Без токена GitHub лимит 60 запросов/час с IP VM — на один up хватает. Если 403 rate limit — пропустить обновление, не валить up.

Для URL не с GitHub (произвольный raw): HEAD/GET с If-None-Match / Last-Modified, хранить ETag в sidecar.

Настройки SwarmUI до первого запуска

Положить/дописать в /mnt/swarm_data/Data/Settings.fds (Frenetic Data Syntax), пока SwarmUI ещё не стартовал:

DefaultUser:
    AutoComplete:
        Source: danbooru.csv
        EscapeParens: true

Source — имя файла относительно Data/Autocompletions, как в UI AutoCompletionsSource.

Если Settings.fds уже есть (повторный диск) и пользователь сменил список в UI — не перезаписывать Source на каждом up. Ставить Source только когда он пустой или мы его ещё ни разу не ставили (флаг в meta settings_applied: true).

После замены csv на уже живой VM: systemctl restart swarmui (хелпер Reload() при старте перечитает каталог).

Конфиг

AUTOCOMPLETE_ENABLED=true
AUTOCOMPLETE_GITHUB_REPO=DominikDoom/a1111-sd-webui-tagcomplete
AUTOCOMPLETE_GITHUB_PATH=tags/danbooru.csv
AUTOCOMPLETE_GITHUB_REF=main
AUTOCOMPLETE_FILENAME=danbooru.csv

Или один AUTOCOMPLETE_URL= для raw без GitHub sha (тогда версия по ETag).