Files
h-school/docs/phases/off-queue/61-portrait-loras-embeds.md
Leonid PershinandCursor 9e217e93eb Stack portrait LoRAs and embeddings from model, preset, and shot kind.
Swarm loads LoRAs via loras/loraweights; embeddings go in the prompt as embed tags, not lora tags.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-20 14:58:26 +03:00

40 lines
2.1 KiB
Markdown

# Фаза 61. LoRA и embeddings
## Зависимости
Фаза 60 (каталог моделей и слои промпта). Ветка от `phase/60-portrait-models`.
## Зачем
LoRA и embeddings можно поставить на модель, на пресет и на тип кадра. Swarm получает
их тем каналом, который реально загружает сеть.
## Задачи
- [x] Discovery: список `embeddings` из Swarm (`models.Embedding`)
- [x] Списки LoRA и embeddings (name + weight) на модели, пресете и avatar/custom/full.
Склейка модель → пресет → кадр. Пустые списки в шаблоне
- [x] Генерация: все LoRA в `loras` и `loraweights`; embeddings в positive/negative как
`<embed:name>`. Не писать `<lora:>` в промпт
- [x] UI: комбобоксы из discovery на модели, в спойлере пресета и в секции кадра. `t(...)`
- [x] HTTP в [`protocol.md`](../../protocol.md), сокет не бампить
## Тесты, без которых фаза не закрыта
- [x] Discovery парсит embeddings; офлайн — пустой список
- [x] Склейка LoRA/embed: модель + пресет + kind
- [x] Промпт содержит `<embed:…>` и не содержит `<lora:`
- [x] Generate шлёт `loras` и `loraweights` раздельно
- [x] Диалог: поля embeddings у модели и у вида кадра
## Критерий готовности
- В диалоге создания школы LoRA и embedding можно добавить на модель, в оверрайд пресета
и на аватар / свой промпт / полный рост
- Список имён — из Swarm, как у LoRA сейчас
- «Показать промпт» показывает embed-теги; LoRA в тексте промпта нет
## Стоп
Не бампить сокет. Не включать конкретные embeds в дефолтный шаблон. Не трогать ControlNet.