Use Case 1: FAQ-бот з AI-відповідями
Рівень: базовий · Модулі: Fast Line Pro, Scenario Builder · Action: action_fastline_pro
Необхідні права та доступ
| Що потрібно | Де в меню | Навіщо |
|---|---|---|
| Scenario Builder | Меню → Scenario Builder | Збірка сценарію FAQ |
| Fast Line Pro | Меню → Fast Line Pro | AI-агент і база знань |
| Fast Line Pro → База знань | Fast Line Pro → База знань | Документи FAQ; дочекайтеся індексації |
| Settings → Bots | Налаштування → Bots | Канали для preview / Telegram |
Якщо розділу немає в меню — перевірте права облікового запису або зверніться до підтримки ConnectiveOne.
Бізнес-контекст
Компанія хоче автоматично відповідати на часті питання без залучення операторів. Клієнт ставить питання у чаті — бот відповідає з бази знань; якщо відповіді немає, клієнт отримує зрозуміле fallback-повідомлення, а не тишу.
Очікуваний результат
- Клієнт пише питання після вітання.
- Fast Line Pro відповідає з бази знань.
- Якщо відповіді немає — спрацьовує fallback edge з текстом на кшталт «Спробуйте переформулювати».
- У Runs видно змінну
{{ai_answer}}після успішного запиту до AI.
Архітектура flow
Start → MessageKeyboard (вітання + «Задати питання»)
→ WaitForInput (зберегти питання)
→ Action (action_fastline_pro)
├─ основний вихід → MessageKeyboard ({{ai_answer}})
└─ fallback → «Спробуйте переформулювати»
Покрокова реалізація
Крок 0. Fast Line Pro (поза Scenario Builder)
| Що | Навіщо |
|---|---|
| Fast Line Pro → вкладка Агенти | У поточному флоу action викликає агента; для простого FAQ інструменти не потрібні |
| База знань → txt, 5–10 Q&A | Малий файл швидше індексується на навчанні |
| Статус індексації | Дочекайтеся завершення обробки документа в БЗ перед тестом у сценарії |
Назва (напр. Training FAQ Bot) |
Має буква в букву збігатися з agent_name у сценарії (назва параметра історична — тип може бути «Чат-бот») |
Перевірка: Fast Line Pro → «Тестування» — відповіді з БЗ працюють без сценарію.
Чат-бот vs Агент у Fast Line Pro
У модулі два типи ШІ-додатків. Це не «навчання vs production» і не те саме, що бот у Scenario Builder / Settings → Bots.
| Тип | Що вміє | Коли обирати |
|---|---|---|
| Чат-бот | Відповіді з бази знань і промпту; без інструментів | FAQ, categorizer, типовий action_fastline_pro |
| Агент | Те саме + Інструменти (зовнішні дії) і розширені режими (напр. streaming) | Коли AI має щось зробити, а не лише відповісти з БЗ |
Для цього Use Case: можна створити Агента без інструментів. Це відповідає поточному UI та флоу action_fastline_pro; тип «Чат-бот» також придатний для простого FAQ, але назва в agent_name має збігатися з фактичним об’єктом, який ви викликаєте.
Опційно після fallback: edge «Поговорити з оператором» → connect (якщо Operator Panel уже налаштовано в Use Case 3).
Крок 1. Start
| Параметр | Значення | Навіщо |
|---|---|---|
| Тригер | Повідомлення в каналі (за замовчуванням) | Запуск при першому повідомленні клієнта в preview / Telegram |
Edges: один вихід → наступна нода (вітання).
Крок 2. MessageKeyboard — вітання
Нода: Повідомлення з кнопками (send-message-keyboard).
| Параметр (Inspector) | Значення | Навіщо |
|---|---|---|
| Текст повідомлення | «Привіт! Я FAQ-бот. Натисніть кнопку, щоб задати питання.» | Перше повідомлення клієнту |
| Тип клавіатури | inline | Кнопки під повідомленням — зручно в Telegram і preview |
| Кнопка 1 | Текст: «Задати питання» · payload: ask |
Одна гілка — спрощує Use Case 1 |
| Output Variable | (можна не задавати) | Для Use Case 1 достатньо переходу по edge кнопки |
Edges: вихід кнопки ask → WaitForInput. Якщо клієнт напише текст замість кнопки — увімкніть валідацію none або додайте edge «будь-який текст» → той самий WaitForInput.
Крок 3. WaitForInput — збір питання
Нода: Очікування вводу (wait-for-input).
| Параметр | Значення | Навіщо |
|---|---|---|
| messageText | «Напишіть ваше питання одним повідомленням» | Запит до клієнта |
| outputVariable | question |
Текст потрапить у {{question}} для AI |
| Validation → type | none |
На навчанні приймаємо будь-який текст |
Edges: один вихід (успішний ввід) → Action action_fastline_pro.
Крок 4. Action — action_fastline_pro
Нода: Action → шаблон action_fastline_pro.
Що робить action: надсилає user_input агенту Fast Line Pro, отримує відповідь з бази знань, записує її у змінну.
| node_params (JSON) | Значення | Навіщо |
|---|---|---|
agent_name |
Training FAQ Bot |
Ім'я агента з Fast Line Pro |
user_input |
{{question}} |
Питання з попередньої ноди |
save_response |
ai_answer |
Ім'я змінної для відповіді → далі {{ai_answer}} |
conversation_id |
fl_conversation_id |
Зберігає контекст між питаннями в одному Run (рекомендовано) |
vision_file |
false |
Use Case 1 без вкладень |
Edges (обов'язково обидва):
| Edge | Куди | Навіщо |
|---|---|---|
| Основний вихід ноди Fast Line Pro (текст відповіді) | MessageKeyboard з {{ai_answer}} |
Клієнт бачить відповідь AI |
| fallback / подія відсутності відповіді | Окреме MessageKeyboard: «Не знайшов відповіді. Спробуйте переформулювати.» | Без цього виходу бот може завершити гілку без повідомлення |
Це два різні виходи однієї action-ноди. Не під'єднуйте обидва ребра до fallback-повідомлення: основний вихід веде в повідомлення з
{{ai_answer}}, а fallback — у повідомлення для відсутньої відповіді.
Промпт агента: явно задайте правило: якщо в підключеній базі немає прямої релевантної відповіді, агент має повернути погоджене fallback-значення (у тестовому флоу — operator). Самого fallback-ребра в Scenario Builder недостатньо, якщо агент повертає довільний текст.
Крок 5. MessageKeyboard — показ відповіді
| Параметр | Значення | Навіщо |
|---|---|---|
| Текст | {{ai_answer}} |
Підставляє відповідь AI |
| Кнопка (опційно) | «Ще питання» → edge назад до WaitForInput | Цикл FAQ без перезапуску Run |
Edges: за бажанням — loop на WaitForInput або End.
Крок 6. Тест у Runs
- На полотні Scenario Builder натисніть Запустити; після виконання відкрийте Runs / деталі запуску.
- Пройти: вітання → «Задати питання» → текст з FAQ → перевірити
{{ai_answer}}у trace. - Питання поза FAQ → агент має повернути погоджене fallback-значення, після чого спрацьовує fallback-вихід action-ноди.
Критерії приймання (self-check Runs)
Типові помилки
| Симптом | Причина | Що зробити |
|---|---|---|
| Бот «замовкає» після питання | Немає edge fallback | Підключити fallback → MessageKeyboard |
| Порожня відповідь | Невірний agent_name |
Звірити ім'я в Fast Line Pro і node_params |
{{ai_answer}} буквально в тексті |
Змінна не записана | Перевірити save_response і trace Runs |
| AI не відповідає взагалі | БЗ не проіндексована, агент не опублікований, порожній промпт або збій у FLP | Перевірити статус документа, натиснути Опублікувати на картці агента, потім окремо перевірити «Тестування» у Fast Line Pro, agent_name і обидва виходи action-ноди |