Тестирование потоков в Playground
Описание
Среда Playground предназначена для интерактивного тестирования потоков и отладки логики в реальном времени.
Запуск сессии тестирования
Запуск потока осуществляется через интерфейс Playground из верхнего меню рабочего пространства.
Требования и режимы работы:
- Для активации диалогового интерфейса поток должен содержать узлы
Chat InputиChat Output, интегрированные в цепочку с языковой моделью или агентом. - При наличии в структуре потока соответствующих модулей обработки звука поддерживается режим голосового ввода данных.
- Для потоков с входными узлами типа
Webhookили загрузкой файлов запуск производится через API Server. В этом случае Playground используется как консоль для мониторинга активности модели и логики исполнения.
Анализ логики агентов
Если в потоке задействован компонент Agent, Playground выводит детализированный лог работы:
- Список используемых инструментов (tools).
- Результаты выполнения каждого инструмента.
Это позволяет отслеживать цепочку рассуждений агента.
Например, вы сможете увидеть, как агент использует инструмент fetch_content для поиска информации в сети перед формированием итогового ответа.
История чатов и логи сообщений
Playground сохраняет историю всех сессий, включая временные метки, содержимое и отправителей.
Доступ к логам:
- В боковой панели Playground выберите нужную сессию.
- Нажмите Options (три точки) → Message Logs.
- В открывшейся таблице данных сообщения разделены на составляющие. Нажмите на любую ячейку, чтобы просмотреть её полное содержимое.
Управление памятью в Playground
Вы можете модифицировать историю сообщений для отладки и тестирования различных сценариев поведения модели.
-
Редактирование: Изменение или удаление отдельных сообщений в Message Logs позволяет «очистить» контекст (например, удалить тестовые данные от компонентов, которые были исключены из схемы).
-
Удаление сессий: Полное удаление истории чата доступно через меню Options → Delete в боковой панели.
Влияние на поведение
Модификация данных напрямую влияет на ответы чат-бота, так как она изменяет внутреннюю таблицу messages в базе данных Langflow, которая является хранилищем памяти по умолчанию.
Важно: Это критически важно при проверке того, как модель ведет себя при сохранении памяти между несколькими сессиями.
Настройка кастомных идентификаторов сессий (Session ID)
Идентификатор сессии (session_id) представляет собой уникальный маркер запуска потока, который служит для привязки сообщений к конкретной истории чата.
Общие принципы
- Режим по умолчанию Идентификатором сессии выступает
flow_idсамого потока. При такой конфигурации абсолютно все сообщения в рамках данного потока записываются в единую общую историю. - Кастомный идентификатор Использование произвольного ID позволяет изолировать контекст, эффективно разделять пользователей и гибко управлять оперативной памятью системы.
Преимущества использования кастомных Session ID
- Разделение диалогов Данная функция обеспечивает обработку множества независимых взаимодействий внутри одного потока, что необходимо для одновременной работы разных пользователей с одним чат-ботом.
- Сохранение контекста Система получает возможность продолжать прерванные диалоги в новых сессиях или передавать накопленный контекст между различными потоками.
- Упрощение отладки Наличие уникальных идентификаторов значительно облегчает поиск и анализ конкретных тестовых запусков в журналах системных событий.
Настройка
Вы можете вручную задать идентификатор в компонентах ввода и вывода (Input/Output), следуя приведенному алгоритму:
- Выберите необходимый компонент на холсте.
- Нажмите иконку Controls в заголовке компонента для вызова настроек отображения полей.
- Активируйте параметр Session ID через переключатель Enable.
- Закройте окно настроек и введите желаемое значение в появившемся поле ввода.
- Откройте Playground для запуска чата под указанным идентификатором.
Необходимо своевременно обновлять значение session_id при создании нового диалога, поскольку в противном случае сообщения будут добавляться в существующую историю переписки.
Рекомендации для Production-среды
Для обеспечения стабильной и корректной работы приложения в реальных условиях эксплуатации следует избегать использования жестко прописанных (hardcoded) значений. Рекомендуется применять следующие подходы к управлению идентификаторами:
- Идентификация авторизованных пользователей Применяйте уникальный
User IDв качестве значенияsession_id. Такой подход гарантирует сохранение и доступность истории переписки для каждого конкретного клиента при его повторных обращениях. - Генерация уникальных сессий Используйте формат
UUIDдля каждого нового диалога в тех случаях, когда контекст взаимодействия не должен сохраняться между отдельными визитами пользователя на сайт. - Динамизация параметров Внедряйте переменные окружения или динамические входные параметры для автоматизации процесса смены идентификаторов, что исключает риск наложения данных в высоконагруженных системах.