Все ноды/Data/Values & State
Шаблон
Строит текст по шаблону с подстановкой значений из других нод: {{nodes.llm_1.output}}, {{inputs.message}}. Используется для формирования промптов, сообщений и строк из динамических данных.
Тип в графе: template
Exec
Можно включить ветку ошибки (expose_error_output) и обработать сбой отдельным путём.
Порты можно разделить на исполнение и данные (split ports).
Как попробовать
Минимальный рабочий воркфлоу
- Исполнение + данные
Запускается сразу
Как применять
Шаблон нужен там, где на выходе должен получиться текст: промпт для модели, ответ пользователю, тело запроса, ключ для записи в хранилище. Он собирает одну строку из значений, которые лежат в разных нодах и переменных.
Отдельная нода нужна не всегда: многие текстовые поля нод (промпт, текст сообщения) сами понимают тот же синтаксис подстановок. Шаблон берут, когда собранный текст нужен нескольким потребителям, когда сборка — самостоятельный шаг, который хочется видеть в логе запуска, или когда текст надо склеить до того, как его получит нода без шаблонного поля.
Как это работает
Внутри доступны те же пространства имён, что и в остальных шаблонных полях:
{{ inputs.input }}— значение, пришедшее в порт «Вход». Это и есть шаблон по умолчанию: свежедобавленная нода просто пропускает значение через себя.{{ nodes.<id>.output }}— результат любой уже выполненной ноды, по её id.{{ variables.<имя> }}— переменные сессии, объявленные нодами Переменная.{{ var }}— значение Var-ноды, подключённой к порту «Var»; так читаются в том числе thread-переменные.{{ loop.* }}— данные текущей итерации, если нода стоит внутри цикла.
Работают условия и циклы Jinja ({% if %}, {% for %}) и фильтры вроде | default("—")
или | join(", "). Нода не имеет входа выполнения: она либо получает триггер в порт «Вход»,
либо её значение запрашивает потребитель по связи данных.
Частые ошибки
- Пустой шаблон запрещён. Он вернул бы пустую строку и выбросил входящее значение, поэтому
запуск останавливается с сообщением, что текст шаблона обязателен. Если нода нужна как
«пропустить дальше» — оставьте
{{ inputs.input }}. nodes.<id>— это идентификатор ноды, а не её подпись. Ссылка на несуществующий id рендерится пустотой; валидатор предупреждает об этом и подсказывает похожий id.- Результат всегда строка. Даже если выражение вычислило число или объект, вниз уедет текст. Если потребителю нужен объект, ведите значение мимо шаблона или разбирайте его дальше отдельной нодой.
{{ variables.X }}видит только session-переменные. Thread-переменную читайте через порт «Var» ({{ var }}) или через{{ nodes.<id>.output }}соответствующей Var-ноды.
Входы
| Порт | Провод | Данные | Примечания |
|---|---|---|---|
Inputinput | Исполнение + данныеexecute_data | — | Run trigger and context for {{inputs.input}} in the template |
Varvar | Данныеdata | — | Optional: connect a Var node for {{var}} in the template |
Выходы
| Порт | Провод | Данные | Примечания |
|---|---|---|---|
Resultoutput | Исполнение + данныеexecute_data | object |
Настройки
| Поле | Тип | По умолчанию | Описание |
|---|---|---|---|
Шаблонtemplate | string | {{ inputs.input }} | Используйте {{var}}, {{nodes.id.output}}, {{inputs.handle}}. Подключите ноду Var к хендлу Var для сохранения состояния контекста. Пустой шаблон возвращает пустую строку и отбрасывает входящее значение. поддерживает шаблоны |
Общие поля
Эти три поля есть у каждой ноды: платформа добавляет их сама, а не автор ноды.
expose_error_output— Если включено, показывает выход выполнения для подключения нод, которые запускаются при сбое этого шага.split_ports_in— Показывать отдельные порты входа для выполнения и данных вместо одного объединённого.split_ports_out— Показывать отдельные порты выхода для выполнения и данных вместо одного объединённого.