HoReCa AI

AI-ассистент смены для ресторанной сети

Регламенты, ТТК и SOP — в одном чате: персонал сети получает ответы за <30 секунд, 95% типовых вопросов закрывает ассистент

Демо-кейс: сеть кафе «Тепло» (референс-деплой, 2 точки)

AI-ассистент смены для ресторанной сети AI-ассистент смены для ресторанной сети AI-ассистент смены для ресторанной сети

Задача

В общепите оборот штата — 75%+ в год (в фастфуде — больше 100%), и 64% предотвратимых увольнений случается за первые 90 дней: новичку некогда учиться, а онбординг съедает 10+ часов менеджера на человека. Пустая смена из-за нехватки людей стоит 7–8% дневной выручки — до $1,500 в день.

Знания сети лежат в 80 страницах PDF, 10 Word-файлах и закреплённом посте в чате. «Что в составе?», «Как принять товар?», «Как оформить акт?» — эти вопросы задают каждый час, а в «запаре» инструкцию никто не откроет. Ответ уже есть в регламенте — просто до него не добираются.

Что сделали

  • Собрали 110+ документов базы знаний: регламенты, ТТК, SOP, инструкции по iiko, карточки поставщиков, глоссарий — с метаданными по ролям, городам и корпусам.
  • Сделали ассистента с ролевыми доступами: официант видит меню и FAQ, кладовщик — склад и приёмку, управляющий — всё.
  • Запустили живое демо: вопрос → ответ за <30 секунд со ссылкой на документ, откуда взялся ответ.
  • Пилот на точке — 5 дней: без кода и ИТ-ресурсов со стороны клиента.
Как это устроено

Бэкенд — FastAPI + LangGraph: узел reception решает, нужен ли контекст из базы знаний или хватит общих знаний; classify выбирает корпуса (меню, склад, поставки, SOP) с вероятностями; дальше ответ с цитатами или без.

Retrieval: Qdrant (эмбеддинги bge-m3, 1024 dim) → метаданные-фильтры (роль, город, корпус) → реранкер (top-5). Для корпусов с точными терминами (склад, поставки, глоссарий) — гибридный поиск с русским BM25 (вес 0.25). Чанкинг — с профилями по типу документа: ТТК — компактные чанки, FAQ — вопрос-ответ.

Надёжность: Guardrails AI на входе (jailbreak и prompt injection блокируются детерминированно, без LLM) и на выходе (токсичность, попытка вытянуть системный промпт). Качество — LLM-as-a-Judge evals: ~31 кейс в Langfuse со скорингом groundedness, relevancy, role_fit, честного отказа и эскалации. Фронтенд — Hugo-лендинг, ответ стримится через SSE.

Этапы

1

База знаний

Документы сети — в структурированный индекс

  • Регламенты, ТТК, SOP, инструкции iiko, карточки поставщиков — 110+ файлов
  • Метаданные в YAML-frontmatter: роли, города, корпуса, версии
2

RAG-пайплайн

Вопрос → корпус → ответ с цитатой

  • LangGraph: маршрутизация и выбор корпусов с вероятностями
  • Qdrant + bge-m3, гибридный поиск с русским BM25, реранкинг
3

Роли и доступы

Каждый видит только своё

  • Официант, менеджер смены, кладовщик, шеф-повар, управляющий
  • Фильтрация по роли и точке на уровне retrieval — без утечек внутри команды
4

Качество и запуск

Evals, guardrails, живое демо

  • LLM-as-a-Judge: ~31 кейс — groundedness, role_fit, честный отказ без данных
  • Guardrails: jailbreak и токсичность блокируются автоматически
  • Публичное демо + пилот на точке за 5 дней

Результат

110+
документов в базе знаний: регламенты, ТТК, SOP, iiko
<30 сек
среднее время ответа на вопрос сотрудника
95%
типовых вопросов закрывает ассистент без менеджера
4 + 1
роли: официант, менеджер смены, кладовщик, шеф-повар + управляющий
5 дней
до работающего пилота на точке
~31 eval-кейс
LLM-as-a-Judge: groundedness, role_fit, честный отказ

Стек

Python FastAPI LangGraph Qdrant bge-m3 BM25 Guardrails AI Langfuse

Какую услугу это закрывает

Открыть проект Демо

Хотите похожий результат?

Расскажите о задаче — ответим с планом и оценкой в течение 24 часов.

Обсудить задачу

Расскажите о задаче

Ответим с планом и оценкой в течение 24 часов.