Все ноды/AI/Conversation Memory

История чата

Загружает недавнюю историю текущего диалога как массив Messages, с ограничением по количеству сообщений (limit). Источник — сохранённые сообщения чата по (workflow_id, session). Работает и для веб-чата, и для Telegram (ходы бота зеркалятся в ту же таблицу). По умолчанию читает текущий тред; можно переопределить session_id.

История чата
RunMessages

Тип в графе: chat_history

Exec

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

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

Ответ LLM с полной перепиской

История подаётся в порт Message; на ноде Ответ LLM обязательно включите «Использовать историю чата».

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

Запускается сразу Перед запуском укажите: модель в ноде LLM.

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

Берите эту ноду, когда переписка нужна как данные, а не как память агента: подложить диалог в промпт Ответа LLM, посчитать что-нибудь по прошлым репликам, собрать транскрипт для отчёта или для внешней системы. Это обычный исполняемый шаг: у него есть вход Run, и он возвращает массив Messages в хронологическом порядке, от старых к новым.

Отличие от памятей (Буферной, Оконной, Суммаризирующей): те ведут собственную ленту агента — с вызовами инструментов и результатами — под своим ключом. История чата читает то, что сохранил канал: реплики пользователя и ответы бота по паре «воркфлоу + сессия». Для веб-чата и Telegram источник один и тот же, потому что ходы Telegram зеркалятся в ту же таблицу под сессией вида tg:{chat_id}.

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

«Лимит сообщений» задаёт, сколько последних сообщений вернуть: по умолчанию 20, максимум 500.

Пустое «Переопределение сессии» означает текущий тред. Поле принимает шаблон, поэтому можно прочитать другой тред того же воркфлоу — например tg:{{ nodes.entry.data.telegram.chat_id }}.

Сообщение пользователя сохраняется до старта запуска, так что текущий вопрос уже находится в выдаче — последним элементом массива.

Если у запуска нет треда чата (вебхук, расписание, ручной прогон), нода возвращает пустой массив, а не ошибку.

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

  • Дать агенту и эту ноду, и ноду памяти. Диалог приедет в модель дважды — из памяти и как входное значение.
  • Считать, что нода вернёт ходы агента с инструментами. Она читает сохранённую переписку; вызовы инструментов туда не попадают.
  • Ждать инструмент для модели. Чтобы агент сам решал, когда заглянуть в переписку, есть отдельная нода Инструмент истории чата — она подключается к агенту в порт Extensions, а не запускается шагом графа.
  • Поднимать лимит «на всякий случай». Каждое сообщение — это входные токены на каждом запуске; 500 реплик в промпте стоят заметно дороже двадцати.

Входы

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

Выходы

ПортПроводДанныеПримечания
MessagesoutputДанныеdatamessages

Настройки

ПолеТипПо умолчаниюОписание
Лимит сообщенийlimitinteger20

Максимальное число самых недавних сообщений для возврата (в хронологическом порядке).

Переопределение сессииsession_idstring""

Необязательный id треда/сессии для чтения вместо текущего диалога. Оставьте пустым, чтобы использовать текущий тред чата (веб-чат или 'tg:{chat_id}' для Telegram). Поддерживаются шаблоны, напр. tg:{{ nodes.entry.data.telegram.chat_id }}.

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

Общие поля

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

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