Skip to Content

Тестирование потоков в Playground

Описание

Среда Playground предназначена для интерактивного тестирования потоков и отладки логики в реальном времени.

Запуск сессии тестирования

Запуск потока осуществляется через интерфейс Playground из верхнего меню рабочего пространства.

Требования и режимы работы:

  • Для активации диалогового интерфейса поток должен содержать узлы Chat Input и Chat Output, интегрированные в цепочку с языковой моделью или агентом.
  • При наличии в структуре потока соответствующих модулей обработки звука поддерживается режим голосового ввода данных.
  • Для потоков с входными узлами типа Webhook или загрузкой файлов запуск производится через API Server. В этом случае Playground используется как консоль для мониторинга активности модели и логики исполнения.

Анализ логики агентов

Если в потоке задействован компонент Agent, Playground выводит детализированный лог работы:

  • Список используемых инструментов (tools).
  • Результаты выполнения каждого инструмента.

Это позволяет отслеживать цепочку рассуждений агента.

Например, вы сможете увидеть, как агент использует инструмент fetch_content для поиска информации в сети перед формированием итогового ответа.

История чатов и логи сообщений

Playground сохраняет историю всех сессий, включая временные метки, содержимое и отправителей.

Доступ к логам:

  1. В боковой панели Playground выберите нужную сессию.
  2. Нажмите Options (три точки) → Message Logs.
  3. В открывшейся таблице данных сообщения разделены на составляющие. Нажмите на любую ячейку, чтобы просмотреть её полное содержимое.

Управление памятью в Playground

Вы можете модифицировать историю сообщений для отладки и тестирования различных сценариев поведения модели.

  • Редактирование: Изменение или удаление отдельных сообщений в Message Logs позволяет «очистить» контекст (например, удалить тестовые данные от компонентов, которые были исключены из схемы).

  • Удаление сессий: Полное удаление истории чата доступно через меню OptionsDelete в боковой панели.

Влияние на поведение

Модификация данных напрямую влияет на ответы чат-бота, так как она изменяет внутреннюю таблицу messages в базе данных Langflow, которая является хранилищем памяти по умолчанию.

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

Настройка кастомных идентификаторов сессий (Session ID)

Идентификатор сессии (session_id) представляет собой уникальный маркер запуска потока, который служит для привязки сообщений к конкретной истории чата.

Общие принципы

  • Режим по умолчанию Идентификатором сессии выступает flow_id самого потока. При такой конфигурации абсолютно все сообщения в рамках данного потока записываются в единую общую историю.
  • Кастомный идентификатор Использование произвольного ID позволяет изолировать контекст, эффективно разделять пользователей и гибко управлять оперативной памятью системы.

Преимущества использования кастомных Session ID

  • Разделение диалогов Данная функция обеспечивает обработку множества независимых взаимодействий внутри одного потока, что необходимо для одновременной работы разных пользователей с одним чат-ботом.
  • Сохранение контекста Система получает возможность продолжать прерванные диалоги в новых сессиях или передавать накопленный контекст между различными потоками.
  • Упрощение отладки Наличие уникальных идентификаторов значительно облегчает поиск и анализ конкретных тестовых запусков в журналах системных событий.

Настройка

Вы можете вручную задать идентификатор в компонентах ввода и вывода (Input/Output), следуя приведенному алгоритму:

  1. Выберите необходимый компонент на холсте.
  2. Нажмите иконку Controls в заголовке компонента для вызова настроек отображения полей.
  3. Активируйте параметр Session ID через переключатель Enable.
  4. Закройте окно настроек и введите желаемое значение в появившемся поле ввода.
  5. Откройте Playground для запуска чата под указанным идентификатором.
⚠️

Необходимо своевременно обновлять значение session_id при создании нового диалога, поскольку в противном случае сообщения будут добавляться в существующую историю переписки.

Рекомендации для Production-среды

Для обеспечения стабильной и корректной работы приложения в реальных условиях эксплуатации следует избегать использования жестко прописанных (hardcoded) значений. Рекомендуется применять следующие подходы к управлению идентификаторами:

  • Идентификация авторизованных пользователей Применяйте уникальный User ID в качестве значения session_id. Такой подход гарантирует сохранение и доступность истории переписки для каждого конкретного клиента при его повторных обращениях.
  • Генерация уникальных сессий Используйте формат UUID для каждого нового диалога в тех случаях, когда контекст взаимодействия не должен сохраняться между отдельными визитами пользователя на сайт.
  • Динамизация параметров Внедряйте переменные окружения или динамические входные параметры для автоматизации процесса смены идентификаторов, что исключает риск наложения данных в высоконагруженных системах.