Все ноды/AI/LLM
Сообщения
Собирает массив сообщений (Messages) из нескольких входов. В конфигурации задаётся только количество входных портов типа Message. Любой data-вход превращается в сообщение role=user; если на вход пришёл массив Messages — он распаковывается и вставляется на своё место. Барьер: ждёт все подключённые входы.
Тип в графе: messages
Можно включить ветку ошибки (expose_error_output) и обработать сбой отдельным путём.
Порты можно разделить на исполнение и данные (split ports).
Как попробовать
Минимальный рабочий воркфлоу
- Исполнение + данные
Запускается сразу
Как применять
Нода собирает из нескольких входов один диалог: системную инструкцию, пару примеров «вопрос — ответ», историю и текущий вопрос. Берите её, когда модели нужно передать не одну реплику, а последовательность с разными ролями. Отдельную реплику собирает Сообщение; если достаточно строки, собирать вообще нечего — LLM-ноды принимают её как реплику пользователя. Для обычного чат-воркфлоу история подтягивается сама: на LLM-нодах есть переключатель «Использовать историю чата», а отдельной нодой её отдаёт История чата.
Как это работает
В настройках задаётся только количество портов — от 1 до 20, по умолчанию два. Порты называются Message 1, Message 2 и так далее, и результат складывается в порядке портов, а не в порядке, в котором закончились ветки.
Каждый порт принимает любое значение. Строка или объект становятся репликой с ролью user; готовое сообщение проходит как есть; массив сообщений распаковывается и вставляется на своё место — так целая история подставляется одним ребром.
Нода работает как барьер: она ждёт все подключённые порты. Неподключённые порты просто пропускаются. Если ветка порта не сработала — например, это невыбранная ветка Условия, — барьер не подвисает, сообщения оттуда просто не будет.
Частые ошибки
- LLM-нода видит только последнюю реплику. Ответ LLM и LLM со структурированным выводом по умолчанию берут из массива только последнее сообщение. Чтобы уехал весь диалог, включите у них «Использовать историю чата». ИИ-агент берёт массив целиком всегда.
- Вопрос стоит не последним. Агент считает промптом последнюю реплику с ролью user; если массив заканчивается системной или ассистентской репликой, всё уедет контекстом, а вопроса не будет. Текущий вопрос — в последний подключённый порт.
- Уменьшили число портов, не убрав связи. Лишние порты исчезают вместе со своими входами, а связи остаются висеть в пустоте, и граф не проходит проверку. Сначала отключите рёбра, потом уменьшайте счётчик.
- Ждут, что нода склеит тексты. На выходе — массив реплик с ролями, а не одна строка. Склеить тексты в один абзац — это Шаблон.
Входы
| Порт | Провод | Данные | Примечания |
|---|---|---|---|
Message 1msg_0 | Исполнение + данныеexecute_data | message |
Выходы
| Порт | Провод | Данные | Примечания |
|---|---|---|---|
Messagesmessages | Исполнение + данныеexecute_data | messages |
Настройки
| Поле | Тип | По умолчанию | Описание |
|---|---|---|---|
Порты сообщенийport_count | integer | 2 | Количество входных портов Message |
Общие поля
Эти три поля есть у каждой ноды: платформа добавляет их сама, а не автор ноды.
expose_error_output— Если включено, показывает выход выполнения для подключения нод, которые запускаются при сбое этого шага.split_ports_in— Показывать отдельные порты входа для выполнения и данных вместо одного объединённого.split_ports_out— Показывать отдельные порты выхода для выполнения и данных вместо одного объединённого.