Swarm loads LoRAs via loras/loraweights; embeddings go in the prompt as embed tags, not lora tags. Co-authored-by: Cursor <cursoragent@cursor.com>
2.1 KiB
2.1 KiB
Фаза 61. LoRA и embeddings
Зависимости
Фаза 60 (каталог моделей и слои промпта). Ветка от phase/60-portrait-models.
Зачем
LoRA и embeddings можно поставить на модель, на пресет и на тип кадра. Swarm получает их тем каналом, который реально загружает сеть.
Задачи
- Discovery: список
embeddingsиз Swarm (models.Embedding) - Списки LoRA и embeddings (name + weight) на модели, пресете и avatar/custom/full. Склейка модель → пресет → кадр. Пустые списки в шаблоне
- Генерация: все LoRA в
lorasиloraweights; embeddings в positive/negative как<embed:name>. Не писать<lora:>в промпт - UI: комбобоксы из discovery на модели, в спойлере пресета и в секции кадра.
t(...) - HTTP в
protocol.md, сокет не бампить
Тесты, без которых фаза не закрыта
- Discovery парсит embeddings; офлайн — пустой список
- Склейка LoRA/embed: модель + пресет + kind
- Промпт содержит
<embed:…>и не содержит<lora: - Generate шлёт
lorasиloraweightsраздельно - Диалог: поля embeddings у модели и у вида кадра
Критерий готовности
- В диалоге создания школы LoRA и embedding можно добавить на модель, в оверрайд пресета и на аватар / свой промпт / полный рост
- Список имён — из Swarm, как у LoRA сейчас
- «Показать промпт» показывает embed-теги; LoRA в тексте промпта нет
Стоп
Не бампить сокет. Не включать конкретные embeds в дефолтный шаблон. Не трогать ControlNet.