Платформа для сравнения мототоваров на Yii2
- yii2
- внедрение ии (ai)
О проекте
Moto365 — это агрегатор мото-запчастей, экипировки и аксессуаров, ориентированный на владельцев эндуро и дорожных мотоциклов. Сайт собирает данные о десятках тысяч товаров с различных источников и помогает мотоциклистам быстро находить нужные позиции с учётом марки, модели, года и типа мотоцикла. Ключевая особенность проекта — внедрение искусственного интеллекта для интеллектуального поиска и классификации товаров.
Задачи
Moto365.ru — сервис для подбора и сравнения мотозапчастей, расходников и экипировки. Мы ведём проект с момента его запуска и занимаемся его комплексной разработкой, архитектурным развитием, поддержкой и внедрением новых технологий — от ИИ до автоматического парсинга.
Изначально платформа разрабатывалась как полноценный интернет-магазин — с каталогом, фильтрами, корзиной, оформлением заказов и личным кабинетом. Позже концепция была переосмыслена, и мы трансформировали сайт в агрегатор, заточенный под сравнение товаров из разных источников.
Что сделано нашей командой
Полная разработка платформы на Yii2
- Проект построен на Yii2, с продуманной архитектурой и гибкой ORM.
- Реализованы авторизация, личный кабинет, мультиязычность, категории, теги, фильтры и карточки товаров.
- Панель администратора с возможностью редактировать контент, управлять категориями, парсингом и логикой показа товаров.
Агрегация данных из внешних источников.
- Поддержка обновления: названий, описаний, артикулов, цен, остатков, изображений.
- Налажена система логов по каждому этапу парсинга (успехи, ошибки, недостающие данные).
- Добавлена защита от дублирования и некорректных данных.
AI-классификация товаров
- Разработана система классификации на базе GPT + pgvector.
- Эмбеддинги категорий сохраняются в PostgreSQL, поиск ближайшей категории работает на локальном сервере.
- Используются данные из названия, описания и артикулов (включая OEM) для точного определения категории.
- Автоклассификация подключена к cron, логируется, поддерживает dry run и отладку.
Внедрение Meilisearch для быстрого поиска
- Установлен и интегрирован Meilisearch.
- Индексируются только актуальные товары, с поддержкой языков, артикулов и синонимов.
- Скорость поиска — до 50 мс, что критично при высоких нагрузках.
- Поиск работает и в боте, и на сайте, возвращает карточки с фото и ценой.
Рекомендательные, сопутствующие товары и аксессуары (AI + логика категорий)
Для повышения удобства пользователей и увеличения глубины просмотра мы реализовали полноценную систему товарных связей:
- Сопутствующие товары (например, комплект прокладок к поршню, масло к воздушному фильтру);
- Аксессуары (например, держатели, сумки, защитные элементы);
- Инструменты (например, ключи, монтажки, мерные ёмкости);
- Рекомендуемые товары — автоматическая подборка на основе категории, ключевых характеристик и семантики описания.
Как это работает:
- Связи между товарами хранятся в отдельных таблицах (products_accessories, products_additionals, products_recommended, products_instruments).
- Для автоматического заполнения связей используется GPT-4 от OpenAI.
Модель анализирует название, описание, артикул, категорию и ключевые слова товара, после чего предлагает список релевантных связей.
- Результаты можно проверять вручную или сохранять напрямую при высокой точности.
- Процесс интегрирован в cron-задачи и логируется для мониторинга и отладки.
Благодаря этой системе:
- Повышается конверсия и вовлечённость;
- Пользователи получают осмысленные рекомендации;
- Каталог становится «умнее» и более интерактивным.
Telegram-бот с AI
- Реализован Telegram-бот, который принимает текстовый запрос, находит товары и возвращает карточки с кнопками.
- Бот подключён к Meilisearch, умеет фильтровать по наличию и доступности.
- В планах — обучение GPT на базе найденных результатов (RAG-подход).
Семантический поиск с RAG
- Пользовательский запрос проходит через Meilisearch.
- Затем найденные товары передаются в GPT, который формулирует пояснение, подсказывает выбор, сравнивает позиции.
- Такой подход приближает поиск к живому диалогу с консультантом.
Генерация sitemap на Python
- Система sitemap генерируется по расписанию, на основе прямого подключения к базе.
- В sitemap попадают только активные товары с корректной категорией и переводом.
- Учитывается мультиязычность (русский/английский).
Работа с логами и мониторинг
- Все процессы (классификация, парсинг, cron-задачи, OpenAI-запросы) логируются с уровнями INFO/WARNING/ERROR.
- Ведётся централизованный сбор логов, удобный для аудита и отладки.
Оптимизация MySQL и Redis
- Реализовано кеширование категорий, фильтров, часто запрашиваемых товаров.
- Настроены индексы и оптимизированы SQL-запросы к таблицам.
- Redis используется для хранения промежуточных результатов и ускорения доступа к данным.
Использование Docker-контейнеров
- Большая часть инфраструктуры работает в контейнерах, включая Meilisearch, парсер и инструменты мониторинга.
- Это упростило развертывание, масштабирование и обновление компонентов без простоев.
- Контейнеризация обеспечивает изоляцию сервисов и стабильность при CI/CD-процессах.
Оптимизация интерфейса и главной страницы
- Главная страница переработана: добавлены баннеры, блоки с категориями, визуальные акценты на фильтры.
- Улучшена навигация по брендам и категориям.
- Вёрстка адаптирована под мобильные устройства, реализован lazy loading изображений.
Мультиязычность
- Товары и категории поддерживают перевод.
- В базе используются таблицы product_langs, category_langs, SEO-поля.
- Сайт работает на русском и английском языках, включая ЧПУ и контент.
Результат
Moto365 — это не просто сайт, а высокотехнологичная платформа с гибкой архитектурой, продвинутым поиском и глубоким уровнем автоматизации. Благодаря AI-инструментам, продуманной архитектуре на Yii2 и использованию современных решений (Meilisearch, Docker, Redis), платформа ежедневно обрабатывает десятки тысяч товаров и делает поиск действительно удобным.
Проект находится в активной разработке, и мы продолжаем расширять его функциональность — от улучшения UX до внедрения аналитики и персональных рекомендаций.
Технологии