[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"$f2u_2RndOJk78fiahUdQqSRdHt7bLRN9ajwMVuhvec1U":3},{"id":4,"title":5,"title_seo":6,"desk":7,"slug":8,"keywords":9,"date":10,"html":11,"author_first_name":12,"author_last_name":13,"author_photo":14,"author_desk":14,"photo_webp":14,"photo_jpg":14,"video_youtube":14,"video_youtube_thumbnail":15,"video_rutube":16,"video_rutube_thumbnail":14,"demo_url":17,"form":18},1,"ИИ сервис извлечения характеристик товара из наименования","ИИ для товаров","ИИ для товаров, который помогает извлекать характеристики из наименования.","ii-servis-izvlecheniya-harakteristik-tovara-iz-naimenovaniya","ии для товаров, ии для карточек товара, ии для создания карточек товара, ии для описания товара","2025-12-16T17:01:34+05:00","\u003Cp>Всем привет, меня зовут Низамов Илья. Хочу рассказать вам о реализованном ИИ проекте, который является небольшим кусочком более крупного проекта.\u003C\u002Fp>\u003Cp>Суть большого проекта, анализ среднего чека, который может принести клиент и если чек меньше какой-то суммы, то его должен обрабатывать ИИ бот.\u003C\u002Fp>\u003Cp>С начала думали, что будем подбирать максимально релевантный товар из базы клиента, но решили, что гораздо проще оценить товар из запроса по медианной цене группы.\u003C\u002Fp>\u003Cp>И вот как раз для решения группировки товара был разработан этот ии сервис. Проблема была в том, что одинаковые по смыслу товары у разных поставщиков находились в разных группах и часто вообще не по теме.\u003C\u002Fp>\u003Cp>Проблема была в том, что прайс может меняться очень часто, поставщиков много, и для обработки 20 тыс позиций с помощью LLM, может уйти очень много времени. Хотя даже небольшая локальная модель qwen3-4b отлично справляется с распределением на группы для последующего обобщения.\u003C\u002Fp>\u003Cp>Я решил использовать готовую модель SpaCy, она работает гораздо быстрее и сейчас 20 тыс позиций обрабатывает менее чем за 1 минуту. С помощью qwen3-4b и схемы Structured Output был подготовлен датасет.\u003C\u002Fp>\u003Cpre>\u003Ccode class=\"language-plaintext\">class LabelSpan(BaseModel):\r\n   \"\"\"\r\n   Представление одной размеченной сущности в тексте.\r\n   \"\"\"\r\n   label: Literal[\"PRODUCT_TYPE\"] = Field(description=\"Категория характеристики\")\r\n   text: str = Field(\r\n       description=\"Фрагмент исходного текста, соответствующий этой характеристике\"\r\n   )\r\n   start: int = Field(description=\"Начальный индекс фрагмента в тексте (включительно)\")\r\n   end: int = Field(description=\"Конечный индекс фрагмента в тексте (не включительно)\")\r\n\r\nclass ProductDataExtraction(BaseModel):\r\n   \"\"\"\r\n   Схема для извлечения характеристик товара из строки.\r\n   \"\"\"\r\n   text: str = Field(\r\n       description=\"Исходный текст, из которого извлекаются характеристики\"\r\n   )\r\n   labels: List[LabelSpan] = Field(\r\n       description=\"Список извлечённых характеристик с позициями и категориями\"\r\n   )\u003C\u002Fcode>\u003C\u002Fpre>\u003Cp>В данном датасете извлекается только \"Категория\", но можно обучить извлекать любые характеристики.\u003C\u002Fp>\u003Cp>Допустим из товара \"Пресс гидравлический ПГРс-300 КВТ 49627\", можно получить:\u003C\u002Fp>\u003Cpre>\u003Ccode class=\"language-plaintext\">{\r\n\"type\": \"пресс гидравлический\",\r\n\"model\": \"ПГРс-300\",\r\n\"brand\": \"КВТ\",\r\n\"article\": \"49627\",\r\n}\u003C\u002Fcode>\u003C\u002Fpre>\u003Cp>И потом эти данные удобно использовать в любой системе. В 1С можно заполнить характеристики товара, предварительно выполнив нормализацию.\u003C\u002Fp>\u003Cp>Так же при подготовке датасета рекомендую провести аугментацию данных и перемешивание, иначе нейронная сеть очень быстро переобучается и перестает работать на реальных данных.\u003C\u002Fp>\u003Cp>На основе подготовленного датасета была обучена модель SpaCy. Доступ к модели был обеспечен с помощью фреймворка FastAPI. Так же были реализованы блоки которые принимают новый прайс и автоматически выполняют разметку, подготовку датасета и обучение сети на новых данных. Что позволяет очень просто дообучать модель на новых данных.\u003C\u002Fp>\u003Cp>Разработан данный ИИ сервис изначально для работы на локальных моделях, но очень легко перевести на использование любой облачной LLM модели. Подготовка датасета и обучение проводилось на Razen 3600X + NVidia 3080Ti, в течении одного дня, но последующее дообучение делается уже гораздо быстрее.\u003C\u002Fp>\u003Cp>Сервис собран для работы в Docker, что позволяет развернуть его на любой системе буквально одной командой.\u003C\u002Fp>\u003Cp>Если у вас появилась какая-то задача, которую можно попробовать решить с помощью ИИ или хотите получить демо доступ к этому сервису, пишите мне в \u003Ca href=\"https:\u002F\u002Ft.me\u002FIlyaNizamov\">telegram\u003C\u002Fa>\u003C\u002Fp>\u003Cp>На этом всё, всем удачи, пока!\u003C\u002Fp>","Илья","Низамов",null,"\u002Fmedia\u002Fportfolio_images\u002FNone\u002Fizvlecheniya-harakteristik.webp","3bc664ccf11c71cc4215c60681fe6438","https:\u002F\u002Fnizamov.studio\u002F",{"id":19,"title":20,"button_name":21,"username":22,"phone":22,"goal_id":23},15,"Портфолио. ИИ сервис извлечения характеристик товара из наименования","Получить демо доступ",true,"ai-servis-izvlecheniya-harakteristik"]