Штатик
Все кейсы

демо-система · Вымышленная компания «ТрансЛогистик», логистика · сборка демо: 1 день, 24.10.2026

Ассистент по регламентам: ответ с цитатой и страницей, «нет» — честно

Сотрудник спрашивает, ассистент отвечает только по документам компании и показывает дословную цитату со страницей.

ИИ · Внутренние системы

войти как — нажмите роль, демо откроется сразу

Спросите «Сколько стоит восстановить пропуск?», а потом «Какая погода завтра в Твери?» — на второй вопрос ассистент ответит, что в документах этого нет.

Документы, учётки и история возвращаются к исходным каждую ночь.

Ответ с цитатой, страницей и кнопкой «Открыть»

Задача

Типовой запрос из тендеров: ИИ-бот по регламентам, чтобы сотрудники не дёргали кадры и ИТ одними и теми же вопросами. Требования: отвечать только по документам, показывать, откуда взят ответ, ничего не выдумывать и держать данные у себя (152-ФЗ).

Что сделано

  • Ответ приходит с источником: документ, код, дословная цитата, страница PDF или раздел DOCX. Кнопка «Открыть» показывает документ сразу на нужной странице с подсвеченной цитатой.
  • Если ответа в документах нет, ассистент пишет об этом прямо и не показывает источников.
  • Администратор загружает, заменяет и удаляет документы. Новая версия сразу попадает в поиск, кэш ответов сбрасывается.
  • У каждого пользователя своя история. Администратор ведёт учётные записи и видит статистику вопросов.
  • Страница «Проверка качества»: 30 фиксированных вопросов, у 8 из них ответа в документах нет. Прогон по кнопке, отчёт сохраняется.
  • Корпус: 12 регламентов (7 PDF на 39 страниц и 5 DOCX), около 145 тыс. знаков.

Роли

  • Сотрудник — чат, своя история, просмотр документов, отчёт о качестве только для чтения
  • Администратор — плюс загрузка и замена документов, учётные записи, статистика, запуск проверки

Ключевой момент

Ответ модели не принимается на слово. Поиск находит до 8 фрагментов; соседние пункты на странице PDF читаются вместе. Сервер проверяет дословные цитаты по найденному тексту. Если подтверждённого источника нет, ассистент сообщает, что ответа не нашёл. Документ можно открыть на нужной странице или в нужном разделе.

Замеры

29 из 30верных ответов на контрольном наборе, 8 из 8 правильных отказов. Прогон 06.11.2026 после смены модели. Вопрос о неустойке остался без ответа, хотя ответ есть в регламенте.
5,2 ссреднее время ответа на контрольном наборе 06.11.2026. Повторный вопрос берётся из кэша.
60 из 60шагов сквозной проверки в браузере: обе роли, сверка страниц и подсветки, замена и удаление версии, права, телефон и компьютер. Предыдущая проверка 24.10.2026; это не новый прогон после смены модели.

На демо-данных, методика указана в каждой строке. Реального клиента у демо нет, поэтому цифр «выручка выросла» здесь нет.

Скриншоты

Нажмите, чтобы увеличить. Листайте свайпом или стрелками.

История диалога и честное «в документах этого нет»
Отчёт проверки качества: разбор каждого из 30 вопросов
Документы с версиями, заменой и удалением
Статистика вопросов для администратора
Вход кнопкой роли
Чат на телефоне
Документ с подсвеченной цитатой на телефоне
Вход на телефоне

Стек и архитектура

  • Python 3.10
  • FastAPI
  • Jinja2
  • SQLite (в проде PostgreSQL)
  • pypdf, python-docx
  • BM25 с русским стеммингом
  • systemd, Caddy
  1. Загрузка: PDF разбирается по страницам, DOCX по разделам, фрагменты ложатся в базу.
  2. Вопрос: поиск BM25 возвращает 8 фрагментов.
  3. Модель получает только их и отвечает структурой «нашёл / ответ / источники с цитатами».
  4. Сервер сверяет цитаты, сохраняет ответ в историю и кэш.

Интеграции

В демо всё работает локально. В проде по задаче: вход через AD/LDAP или Keycloak, подтягивание документов из СЭД, Confluence или общей папки по расписанию, бот в Telegram, MAX или VK Teams поверх того же API.

Как было бы в проде

  • Модуль модели заменяемый. В демо вопросы и найденные фрагменты вымышленных документов обрабатывает OpenAI. Модель, размещение и требования к данным заказчика согласуем отдельно.
  • Расход на 3 000 вопросов в месяц — около 9,5 млн токенов (замер длины запроса на контрольном наборе). Расчёт по тарифам российских моделей показываю при разборе.
  • Свой набор контрольных вопросов заказчика (30–50 штук) и прогон до 85 % верных — до запуска для всех.
  • Срок внедрения ассистента на базе знаний — 1–2 недели.

Сроки по факту

Сборка демо: 1 день, 24.10.2026. Код пишу вместе с ИИ-агентами, проверка — автоматическая, в браузере на сервере. Сроки проекта у заказчика — в последнем пункте «Как было бы в проде» и в разделе «Процесс и сроки».

Попробовать

войти как — нажмите роль, демо откроется сразу

Спросите «Сколько стоит восстановить пропуск?», а потом «Какая погода завтра в Твери?» — на второй вопрос ассистент ответит, что в документах этого нет.

Документы, учётки и история возвращаются к исходным каждую ночь.

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

Нужна такая система под вашу задачу? Опишите процесс и что хотите улучшить — обсудим небольшой пилот, результат и стоимость. Порядок работы и оплаты — на странице портфолио.

почта, если Telegram не открывается

anton.shtatik@yandex.ru

Отвечаю в течение рабочего дня.