Все ноды/AI/LLM

Сообщение

Собирает каноническое сообщение (role + текст + вложения) из входов text и files. Используется, когда нужно передать сообщение с файлами в LLM-ноду, под-workflow или память.

Сообщение▶
ТекстСообщение
Файлы

Тип в графе: message

Exec

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

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

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

Минимальный рабочий сценарий

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

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

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

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

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

Нода срабатывает, когда выполнение приходит на вход «Текст». Порт «Файлы» — чистые данные: он не запускает ноду, а только читает готовое значение, поэтому ветка, которая добывает файл, должна отработать раньше по ветке выполнения.

Поле «Текст» — запасной вариант, а не основной: оно используется, только если порт «Текст» ничего не принёс — не подключён или принёс пустую строку. Подключённый непустой текст всегда выигрывает у поля.

На выход уходит сообщение целиком: текст, роль и вложения. В шаблоне {{ nodes.<id>.output }} виден только текст — вложения едут по связи и достаются той ноде, в которую эта связь входит.

В порт «Файлы» подаются ссылки на файлы: выход Чтения файла, список от file_glob, картинки Генерации изображения, файл из telegram_get_file. Сюда же можно подать сообщение Входа — из него возьмутся его вложения.

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

  • Две связи в порт «Файлы». Порт принимает одну; вторая делает вход неоднозначным, и граф не пройдёт проверку. Несколько файлов передавайте одним списком — например, выходом file_glob или генерации изображений.
  • В порт «Файлы» отправляют строку. Порт ждёт ссылку на файл; путь или имя строкой молча не дают ни одного вложения, и сообщение уходит без файлов.
  • Роль system или assistant вместо вопроса. LLM-ноды берут промптом последнюю реплику с ролью user. Одиночное сообщение с другой ролью уедет как контекст, и вопроса модели не достанется.
  • Модель не видит приложенный файл. Вложение доходит до запроса, только если модель принимает такой тип: картинки — при поддержке изображений, аудио — при поддержке звука, PDF — при поддержке документов, текстовые файлы вставляются в промпт как текст. PDF, приложенный на этом шаге к модели без поддержки документов, останавливает запуск с ошибкой, которая называет модель, — так не бывает ответа по файлу, которого модель не читала. Архивы и офисные документы в запрос не попадают вовсе, и ошибки при этом не будет.

Входы

ПортПроводДанныеПримечания
ТекстtextИсполнение + данныеexecute_datastring

Текст сообщения.

ФайлыfilesДанныеdatafile

Вложения.

Выходы

ПортПроводДанныеПримечания
СообщениеmessageИсполнение + данныеexecute_datamessage

Настройки

ПолеТипПо умолчаниюОписание
Рольrolestringuser

Роль автора собранного сообщения

Варианты: user — От человека, assistant — От бота, system — Системная инструкция

Текстtext_templatestring""

Необязательный текстовый шаблон; используется, когда порт Text ничего не доставил (не подключён или пришла пустая строка).

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

Общие поля

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

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