Все ноды/Data/Values & State

Шаблон

Строит текст по шаблону с подстановкой значений из других нод: {{nodes.llm_1.output}}, {{inputs.message}}. Используется для формирования промптов, сообщений и строк из динамических данных.

Шаблон
InputResult
Var

Тип в графе: template

Exec

Можно включить ветку ошибки (expose_error_output) и обработать сбой отдельным путём.

Порты можно разделить на исполнение и данные (split ports).

Как попробовать

Минимальный рабочий воркфлоу

Вход
Шаблон
Выход
  • Исполнение + данные
Нажмите «Скопировать ноды», откройте редактор и нажмите Ctrl+V на холсте.

Запускается сразу

Как применять

Шаблон нужен там, где на выходе должен получиться текст: промпт для модели, ответ пользователю, тело запроса, ключ для записи в хранилище. Он собирает одну строку из значений, которые лежат в разных нодах и переменных.

Отдельная нода нужна не всегда: многие текстовые поля нод (промпт, текст сообщения) сами понимают тот же синтаксис подстановок. Шаблон берут, когда собранный текст нужен нескольким потребителям, когда сборка — самостоятельный шаг, который хочется видеть в логе запуска, или когда текст надо склеить до того, как его получит нода без шаблонного поля.

Как это работает

Внутри доступны те же пространства имён, что и в остальных шаблонных полях:

  • {{ 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_dataobject

Настройки

ПолеТипПо умолчаниюОписание
Шаблонtemplatestring{{ inputs.input }}

Используйте {{var}}, {{nodes.id.output}}, {{inputs.handle}}. Подключите ноду Var к хендлу Var для сохранения состояния контекста. Пустой шаблон возвращает пустую строку и отбрасывает входящее значение.

поддерживает шаблоны

Общие поля

Эти три поля есть у каждой ноды: платформа добавляет их сама, а не автор ноды.

  • expose_error_output — Если включено, показывает выход выполнения для подключения нод, которые запускаются при сбое этого шага.
  • split_ports_in — Показывать отдельные порты входа для выполнения и данных вместо одного объединённого.
  • split_ports_out — Показывать отдельные порты выхода для выполнения и данных вместо одного объединённого.

Готовые примеры с этой нодой