GuardLabs · демо

Розмовний пошук запчастин по каталогу (для AI-бота)

Покупець пише як людина — «шарова для жигулі 01» або «фільтр на дукато 2.0 98 рік» — а не кодом чи артикулом. Демо нижче показує, як розмовний запит доходить до конкретних позицій каталогу з артикулами, і що бот питає, коли даних не вистачає.

Спробуйте самі

Введіть запит або натисніть приклад вище.

Як це влаштовано — де LLM, а де ні

Пошук навмисно НЕ віддається векторам цілком (саме тут «нестабільно» ламається у ваших спробах) — LLM робить тільки одну вузьку роботу, а зіставлення з каталогом — детермінований фільтр по індексу застосовності.

1Розбір запитуLLM
дістає з фрази сутності: марка/модель, приблизний рік, тип двигуна, назва деталі — включно з жаргоном («жигулі», «дукато», «шарова»).
2Нормалізаціябез LLM
жаргон і синоніми мапляться у довіднику на офіційні марку/модель/код кузова — «жигулі 01» → ВАЗ 2101, «дукато» → Fiat Ducato.
3Зіставленнябез LLM
структурований фільтр по таблиці застосовності каталогу (марка+модель+двигун+роки, як у TecDoc) — детермінований, той самий запит завжди дає той самий результат.
4УточненняLLM
якщо після фільтра лишилось >1 варіант і різниця в даних, які покупець не назвав (рік, кузов, комплектація) — ставиться ОДНЕ уточнююче питання його ж словами, не список фільтрів.

Як перевіримо, що працює — до підключення в чат

  • Тестовий набір запит → очікувана деталь(і). Прогін офлайн, без бота: на ваших 20 реальних запитах + доборі граничних випадків (омоніми марок, відсутній рік, кілька підходящих деталей) фіксуємо, скільки запитів дали правильний топ-результат.
  • Метрика точності — частка запитів, де перша позиція видачі = очікувана деталь із тестового набору (а не «десь у списку»).
  • Метрика уточнень — окремо: частка неоднозначних запитів, де бот поставив питання ЗАМІСТЬ помилкової відповіді. Мовчазна помилкова відповідь тут гірша, ніж зайве питання.
  • Приймання по етапах — саме так, як ви й описали: кожен етап закривається цифрою на тестовому наборі, а не показом на екрані.