Реалізація бота-асистента для FAQ у мобільному додатку

TRUETECH займається розробкою, підтримкою та обслуговуванням мобільних додатків iOS, Android, PWA. Маємо великий досвід та експертизу для публікації мобільних додатків до популярних маркетів Google Play, App Store, Amazon, AppGallery та інші.

Розробка та підтримка будь-яких видів мобільних додатків:

Інформаційні та розважальні мобільні програми
Новинки, ігри, довідники, онлайн-каталоги, погодні, фітнес та здоров'я, туристичні, освітні, соціальні мережі та месенджери, квіз, блоги та подкасти, форуми, агрегатори
Мобільні програми електронної комерції
Інтернет-магазини, B2B-додатки, маркетплейси, онлайн-обмінники, кешбек-сервіси, біржі, дропшиппінг-платформи, програми лояльності, доставка їжі та товарів, платіжні системи
Мобільні програми для управління бізнес-процесами
CRM-системи, ERP-системи, управління проектами, інструменти для команди продажів, облік фінансів, управління виробництвом, логістика та доставка, управління персоналом, системи моніторингу даних
Мобільні програми електронних послуг
Дошки оголошень, онлайн-школи, онлайн-кінотеатри, платформи надання електронних послуг, платформи кешбеку, відеохостинги, тематичні портали, платформи онлайн-бронювання та запису, платформи онлайн-торгівлі

Це лише деякі з типів мобільних додатків, з якими ми працюємо, і кожен із них може мати свої специфічні особливості та функціональність, а також бути адаптованим під конкретні потреби та цілі клієнта.

Послуги, які ми пропонуємо
Показано 1 з 1Усі 1735 послуг
Реалізація бота-асистента для FAQ у мобільному додатку
Простий
~2-3 дні
Часті запитання

Наші компетенції:

Етапи розробки

Останні роботи

  • image_mobile-applications_feedme_467_0.webp
    Розробка мобільного додатка для компанії FEEDME
    792
  • image_mobile-applications_xoomer_471_0.webp
    Розробка мобільного додатку для компанії XOOMER
    671
  • image_mobile-applications_rhl_428_0.webp
    Розробка мобільного додатку для компанії RHL
    1097
  • image_mobile-applications_zippy_411_0.webp
    Розробка мобільного додатку для компанії ZIPPY
    969
  • image_mobile-applications_affhome_429_0.webp
    Розробка мобільного додатку для компанії Affhome
    914
  • image_mobile-applications_flavors_409_0.webp
    Розробка мобільного додатку для компанії FLAVORS
    495

Бот-асистент для FAQ у мобільному додатку

FAQ-бот — найнедооцінена задача. Здається простою, реалізується за день, але у продакшені неминуче виявляється, що питання користувачів не збігаються з формулюванням у базі. «Як повернути товар?» та «повернення грошей» — це одне питання, але без семантичного пошуку система їх не зв'яже.

Семантичний пошук проти точного збігу

Простий варіант: користувач пише ключові слова, система шукає в базі через LIKE або Elasticsearch. Працює, коли користувач знає правильні терміни.

Для природних питань потрібен embedding-пошук. Кожне питання з FAQ та кожен запит користувача перетворюються на вектор, шукаємо найближчого сусіда за косинусною відстанню.

from openai import OpenAI
import numpy as np

client = OpenAI()

def embed(text: str) -> list[float]:
    response = client.embeddings.create(
        model="text-embedding-3-small",
        input=text
    )
    return response.data[0].embedding

def find_best_faq(query: str, faq_embeddings: dict) -> tuple[str, float]:
    query_vec = np.array(embed(query))
    best_score = -1
    best_key = None
    for key, vec in faq_embeddings.items():
        score = np.dot(query_vec, np.array(vec)) / (
            np.linalg.norm(query_vec) * np.linalg.norm(np.array(vec))
        )
        if score > best_score:
            best_score = score
            best_key = key
    return best_key, best_score

Встановіть поріг score < 0.75 — відповідайте «не знайшов підходящої відповіді, уточніть питання». Без порога бот буде видавати нерелевантні відповіді з переконливим виглядом.

Структура бази FAQ

Кожна запис: питання (або кілька формулювань), відповідь, категорія, теги. Кілька формулювань одного питання поліпшують recall при пошуку.

Embeddings для FAQ вичисляються один раз при завантаженні та кешуються у Redis. При оновленні бази — інвалідуємо кеш та пересчитуємо.

Мобільний UI

Для FAQ-бота ефективна комбінація: категорії-кнопки при старті діалогу + вільний введення.

Користувач відкриває чат → бачить 4–6 категорій («Доставка», «Оплата», «Повернення», «Аккаунт») → тапає потрібну → бот пропонує топ-3 питання в категорії у вигляді чіпів. Якщо жодне не підходить — пише своїми словами.

Такий UX зменшує навантаження на NLP та дає користувачу структуру. Більшість знаходить відповідь за 2–3 тапи, не вводячи жодного слова.

Кнопка «Це допомогло?» під кожною відповіддю — обов'язкова. Негативні оцінки формують список питань для доопрацювання бази.

Процес розробки

Формування бази FAQ: збір реальних питань з попередніх звернень, категоризація.

Налаштування embedding-пошуку, підбір порога релевантності.

Мобільний UI з категоріями та вільним введенням.

Аналітика: які питання залишаються без відповіді — це вхідні дані для розширення бази.

Орієнтири за часом

FAQ-бот з семантичним пошуком на готовій базі — 2–4 дні. З розробкою структури бази, категоризацією та аналітикою — до 1 тижня.