Туториал: бот поддержки¶
В этом туториале вы собираете один пайплайн с нуля и наращиваете его шаг за шагом. Это бот поддержки: он берёт тикет, разбирается, о чём тот, ищет ответ в базе знаний и либо отвечает, либо отдаёт тикет человеку.
Каждый тип узла появляется один раз — там, где он действительно нужен. К концу граф выглядит так:

Шаги¶
| Шаг | Что добавляем | Что разбираем |
|---|---|---|
| 1. Первый запуск | стадию и три узла | как стадия и пайплайн стыкуются |
| 2. Данные между узлами | вторую стадию | фрейм, аргументы, выходы, типы |
| 3. Выбор дороги | условие и два финала | ветвление по CEL-выражению |
| 4. Два дела сразу | параллельные ветки и switch |
конкурентность и маршрутизация |
| 5. Когда узел падает | retry и try/except |
ошибки как часть графа |
| 6. Граф внутри узла | субпайплайн | переиспользование графа, изоляция фрейма |
| 7. Смотрим, как он работает | редактор и отладчик | проход по шагам |
Что понадобится¶
Для шагов с 1 по 6 хватит ядра:
Скриншоты сняты в редакторе StageFlow — это веб-страница, которая рисует и отлаживает граф. Сама она ничего не исполняет: она обращается к бэкенду, где лежат ваши стадии. Чтобы повторять за туториалом в редакторе, запустите бэкенд примера:
git clone https://github.com/leo-need-more-coffee/stageflow-example
cd stageflow-example
pip install -r requirements.txt
python main.py # http://127.0.0.1:8765
и рядом сам редактор:
git clone https://github.com/leo-need-more-coffee/stageflow-ui
cd stageflow-ui
npm start # http://127.0.0.1:8080
Откройте http://127.0.0.1:8080, введите адрес бэкенда на экране подключения
и загружайте пайплайн нужного шага через «File» → «Import JSON…».
Готовый бот, его стадии и файлы с данными лежат в репозитории примера. Здесь мы собираем то же самое, по одной идее за раз.