Все ноды/AI/LLM

Сообщения

Собирает массив сообщений (Messages) из нескольких входов. В конфигурации задаётся только количество входных портов типа Message. Любой data-вход превращается в сообщение role=user; если на вход пришёл массив Messages — он распаковывается и вставляется на своё место. Барьер: ждёт все подключённые входы.

Сообщения
Message 1Messages

Тип в графе: messages

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

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

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

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

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

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

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

Нода собирает из нескольких входов один диалог: системную инструкцию, пару примеров «вопрос — ответ», историю и текущий вопрос. Берите её, когда модели нужно передать не одну реплику, а последовательность с разными ролями. Отдельную реплику собирает Сообщение; если достаточно строки, собирать вообще нечего — LLM-ноды принимают её как реплику пользователя. Для обычного чат-воркфлоу история подтягивается сама: на LLM-нодах есть переключатель «Использовать историю чата», а отдельной нодой её отдаёт История чата.

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

В настройках задаётся только количество портов — от 1 до 20, по умолчанию два. Порты называются Message 1, Message 2 и так далее, и результат складывается в порядке портов, а не в порядке, в котором закончились ветки.

Каждый порт принимает любое значение. Строка или объект становятся репликой с ролью user; готовое сообщение проходит как есть; массив сообщений распаковывается и вставляется на своё место — так целая история подставляется одним ребром.

Нода работает как барьер: она ждёт все подключённые порты. Неподключённые порты просто пропускаются. Если ветка порта не сработала — например, это невыбранная ветка Условия, — барьер не подвисает, сообщения оттуда просто не будет.

Частые ошибки

  • LLM-нода видит только последнюю реплику. Ответ LLM и LLM со структурированным выводом по умолчанию берут из массива только последнее сообщение. Чтобы уехал весь диалог, включите у них «Использовать историю чата». ИИ-агент берёт массив целиком всегда.
  • Вопрос стоит не последним. Агент считает промптом последнюю реплику с ролью user; если массив заканчивается системной или ассистентской репликой, всё уедет контекстом, а вопроса не будет. Текущий вопрос — в последний подключённый порт.
  • Уменьшили число портов, не убрав связи. Лишние порты исчезают вместе со своими входами, а связи остаются висеть в пустоте, и граф не проходит проверку. Сначала отключите рёбра, потом уменьшайте счётчик.
  • Ждут, что нода склеит тексты. На выходе — массив реплик с ролями, а не одна строка. Склеить тексты в один абзац — это Шаблон.

Входы

ПортПроводДанныеПримечания
Message 1msg_0Исполнение + данныеexecute_datamessage

Выходы

ПортПроводДанныеПримечания
MessagesmessagesИсполнение + данныеexecute_datamessages

Настройки

ПолеТипПо умолчаниюОписание
Порты сообщенийport_countinteger2

Количество входных портов Message

Общие поля

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

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