Архитектура
Как это работает
Бот сертификации работает в двух режимах. В чате — как ассистент инженера: спросить про применимость ТР ТС, классифицировать одну позицию, перевести страницу паспорта, сгенерировать этикетку с ГОСТ. В пакетном режиме — как pipeline обработки заявки целиком.
Входящий пакет от клиента (XLSX-список позиций, паспорт PDF, инвойс, фотографии товара) проходит через несколько слоёв. Mistral OCR API превращает сканы и PDF в структурированный Markdown с сохранением таблиц и заголовков. Гибридный retrieval — regex по упомянутым кодам ТР ТС, ТР ЕАЭС, ГОСТ, ТН ВЭД плюс семантический поиск — достаёт из базы знаний нужные регламенты, не упираясь в семантическую близость эмбеддинга. LLM сопоставляет позиции из XLSX с полями формы по смыслу, а не по строгому совпадению заголовков, и заполняет таблицу одним проходом на все позиции — без построчного перепрогона.
Картинки из ячеек XLSX извлекаются через openpyxl и привязываются к нужной строке выходной формы. Перевод сканированных PDF идёт страницей за страницей: PyMuPDF рендерит страницу в 300 dpi, Tesseract OCR с bounding-box достаёт каждый блок текста, LLM переводит, Pillow рисует перевод поверх оригинала с подбором размера шрифта под исходную область. Печати, таблицы, расположение остаются на местах.
Применение
Типовые сценарии
Заявка на серийное производство, 80 позиций кабельной продукции.
Клиент прислал XLSX без кодов ТН ВЭД. На столе инженера — три часа классификации, проверки исключений ТР ТС 004 «О безопасности низковольтного оборудования», подбора схемы. Бот за пять минут возвращает таблицу: позиция → ТН ВЭД → применимый регламент → схема → группа однородности. Инженер проверяет краевые случаи и спорные позиции, а не делает работу с нуля.
Импортный паспорт оборудования на немецком, 24 страницы.
Сканированный PDF с таблицами параметров и схемами включения. Бюро переводов — пять дней и плоский текст. Бот за 15 минут возвращает PDF с сохранённой структурой: таблицы остаются таблицами, печати — печатями, перевод нарисован поверх немецкого текста с подбором размера шрифта. Готово к подаче в орган.
Партия из 30 фотографий ярлыков для проверки маркировки.
Производитель прислал фото этикеток с линии — нужно проверить соответствие ТР ТС 022 «О маркировке пищевой продукции». Бот извлекает текст с каждой фотографии, сверяет с RAG по ТР ТС 022, помечает отсутствующие обязательные поля. Инженер получает чек-лист расхождений по каждому ярлыку, а не пачку фотографий и трёхчасовую сверку.
Помощь в чате при сложном кейсе.
Инженер пишет: «Одежда для кукол из текстиля, ТН ВЭД 6307103000, что применять?». Бот через RAG достаёт нужные пункты ТР ТС 008/2011 «О безопасности игрушек», сверяется со списками исключений и возвращает разбор с цитатами статей: какие схемы оценки доступны, что в группе однородности, чем ДС отличается от СС в этом случае.