Субграфы

Субграф это несколько нод, свёрнутых в один блок. На холсте он выглядит как одна нода со своими входами и выходами, а внутри это обычный граф. Субграф помогает спрятать понятную часть или использовать одну и ту же часть несколько раз. ComfyUI читает субграфы из workflow формата 1. Основы: Ноды и связи.

<!-- picture: блок-субграф на основном холсте и рядом его внутренность с краями входов и выходов -->

Как сделать

  1. Выделите ноды (Shift+щелчок или Ctrl+щелчок, или рамка с Shift).
  2. Граф ▸ Собрать субграф из выделенного (Ctrl+G) или правый щелчок по одной из них ▸ Собрать субграф из выделенного.
  3. На их место встанет блок «Субграф». Связи, которые пересекали край выделения, станут входами и выходами блока.
  4. Переименуйте его в Свойствах: Имя субграфа, Сохранить имя.

Только на основном холсте, не внутри другого субграфа.

Как войти и выйти

  • Нажмите Открыть на блоке, или правый щелчок по нему ▸ Открыть субграф, или выделите его и нажмите Открыть субграф в «Свойствах».
  • Сверху появится путь: Весь граф › имя субграфа. Щёлкните Весь граф, нажмите На уровень выше или Escape, чтобы выйти.
  • Внутри видна строка: «Внутри субграфа: изменения действуют во всех его копиях. Протяните связь к пустому месту на краю, чтобы добавить вход или выход субграфа.»

Как править внутренность

Внутри субграфа ноды добавляют, соединяют, настраивают и удаляют так же, как на основном холсте. По краям стоят две особые ноды: Входы субграфа слева и Выходы субграфа справа.

  • Добавить вход: протяните связь от внутреннего входа к пустому месту Новый вход у Входов субграфа. Добавить выход: от внутреннего выхода к Новый выход.
  • Или правый щелчок по внутреннему порту ▸ Сделать входом субграфа / Сделать выходом субграфа.
  • Переименовать вход или выход: дважды щёлкните его имя на краевой ноде (Enter сохраняет, Esc отменяет) или переименуйте в «Свойствах» (Входы и выходы).
  • Убрать: правый щелчок по нему на краю ▸ Убрать этот вход или выход субграфа.

Копии

Ещё копии вставляются с вкладки Субграфы библиотеки (Вставить) или правым щелчком по пустому месту ▸ Вставить субграф. У всех копий одна внутренность: изменение внутри одной меняет все. Субграф может содержать другой субграф, но не самого себя: «Субграф нельзя положить внутрь самого себя, ни сразу, ни через другой субграф.»

Как отменить субграф

Выделите блок ▸ Граф ▸ Разобрать субграф (или Разобрать в «Свойствах», или правый щелчок ▸ Разобрать субграф). Его ноды вернутся на основной холст. Или просто Ctrl+Z сразу после сборки.

Ограничения

  • Помощник строит только на основном холсте. Если вы внутри субграфа, когда он начинает, холст вернётся: «Помощник строит на основном холсте, поэтому холст вернулся на него.»
  • Уроки тоже идут на основном холсте.
  • В workflow старого формата (0.4) субграф сделать нельзя. Приложение скажет: «Этот workflow в старом формате ComfyUI, в нём нет субграфов. Выделите ноды, скопируйте их (Ctrl+C), создайте новый проект (Файл > Новый проект) и вставьте их туда (Ctrl+V): в новом проекте субграфы работают.» Workflow, сохранённые свежим ComfyUI, и каждый новый проект имеют формат 1.
  • Отметки, которые проверка ставит на ноды, внутри субграфа не показываются.

Поля субграфа из workflow

Автор субграфа в ComfyUI может вынести некоторые поля внутренних нод на сам блок. Когда вы открываете такой workflow, блок показывает эти поля под заголовком Поля субграфа, в порядке файла, на холсте и в «Свойствах». Правка здесь сохранится в workflow для ComfyUI: поле копии уходит в эту копию, поле внутренней ноды уходит в эту ноду. На блоке длинный промпт показан строкой в одну линию; полное поле есть в «Свойствах».

См. также

Страница перенесена из wiki репозитория приложения (docs/wiki/graph/Subgraphs.ru.md, ревизия b8e3f71). То же руководство встроено в приложение: «Справка ▸ Руководство».

Чтобы обновить её, выполните npm run import, а затем npm run build в папке сайта.