Все ноды/Input / Output/Boundaries

Выход

Конец сценария. Принимает финальный результат и возвращает его пользователю (или как ответ API). Опц. вход files (одна или несколько файловых ссылок) отдаёт файлы вместе с ответом: внешние/webdav-ссылки скачиваются в системный стор, уже-наши файлы пробрасываются без перезаписи, и в чате показываются (картинка/аудио/вложение). Должна быть хотя бы одна. Поддерживает стриминг ответа. Выхода выполнения нет.

Выход▶
Сообщение
Файлы

Тип в графе: exit

Exec

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

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

Ответ модели с запасным текстом ошибки

Выход отдаёт ответ в чат и подменяет системное сообщение своим, если запуск упал.

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

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

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

Выход — это то, что сценарий вернёт: реплику в чат, ответ на вызов по API, сообщение в Telegram. Он обязателен, и в подавляющем большинстве графов он один: все ветки сходятся в него, а не заводят каждая свой.

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

Значение приходит на порт end — им же идёт стриминг, поэтому ответ модели печатается в чате по мере генерации. Если поле «Выражение вывода» непустое, оно заменяет пришедшее значение целиком: удобно, когда сценарий дёргают по API и ответ надо собрать из нескольких нод ({{ nodes.answer.output }}), и вредно, если поле заполнили «на всякий случай» — тогда правки графа выше перестают влиять на ответ.

Порт files возвращает файлы вместе с ответом. Связей в него можно тянуть несколько; внешние ссылки и файлы с WebDAV скачиваются в файловое хранилище рабочего пространства (там их видно на вкладке «Файлы»), а те, что уже лежат в нём, просто пробрасываются без копирования. В чате они показываются картинкой, плеером или вложением.

«Сообщение об ошибке» срабатывает только на необработанном сбое — когда упавшую ноду некуда было увести по ветке on_error. В шаблоне доступны {{ error }}, {{ failed_node_id }} и {{ failed_node_type }}; пустое поле означает стандартное сообщение платформы. Если выходов несколько, текст берётся у того, который в этом запуске отработал.

Исполнительного выхода у ноды нет: после выхода не идёт ничего.

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

  • По выходу на каждую параллельную ветку. Два выхода, живые в одном запуске, — ошибка exec.multi_exit_race на запуске и деплое (в редакторе это предупреждение). Оба пишут результат, побеждает последний в порядке нод графа, а в чате виден только тот, кто заговорил первым. Сводите ветки в один выход, при необходимости через wait_all. Отдельные выходы законны только для взаимоисключающих веток — ветвей одного if или switch.
  • Выход, до которого доходит только связь данных. Он не запустится, а запуск закончится пустым результатом. Валидатор ловит это как graph.exit_no_exec_trigger: нужна связь исполнения по всему пути от входа.
  • Ждать сообщения, когда отвечать нечем. Пустое значение на end в чат не уходит вовсе — и это не ошибка: статус запуска останется completed.

Входы

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

Итоговое значение, которое получит пользователь. Непустое поле «Выражение вывода» перекрывает его.

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

Файлы, которые уходят вместе с ответом.

несколько связей

Выходы

—

Настройки

ПолеТипПо умолчаниюОписание
Сообщение об ошибкеerror_textstring""

Текст, который пишется в чат при необработанном исключении в сценарии. Пусто — используется сообщение платформы по умолчанию.

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

Выражение выводаoutput_mappingstring""

Выражение, формирующее финальный вывод, напр. {{nodes.llm_1.output}}. Непустое значение ЗАМЕНЯЕТ то, что пришло на порт End; оставьте пустым, чтобы вернуть значение с End как есть.

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

Общие поля

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

  • split_ports_in — Показывать отдельные порты входа для выполнения и данных вместо одного объединённого.
  • split_ports_out — Показывать отдельные порты выхода для выполнения и данных вместо одного объединённого.

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