Подключите нашего Telegram-бота для уведомлений о новых проектах
системы визуального поиска для OpenCart 2.3 с использованием Яндекс Vision и векторных эмбеддингов
Разместить заказ

n
Заказчик
Отзывы фрилансеров:
+ 1
- 0
Зарегистрирован на сайте 1 год и 6 месяцев
Бюджет:
80 000 руб
985.99 $ — 867.46 €
Исполнитель определен:
Антон Краснов
1. Общее описание
Цель:
Реализовать функционал поиска товаров по фотографии и автоматическую карусель похожих товаров в карточках, адаптированную под специфику ниши (люстры, светильники).
Основные задачи:
1. Интеграция Яндекс Vision API для анализа изображений.
2. Дообучение модели компьютерного зрения на датасете пользователя.
3. Внедрение векторного поиска для повышения точности рекомендаций.
4. Оптимизация производительности для работы с 150k товаров и 1 млн изображений.
2. Функциональные требования
2.1. Визуальный поиск товаров
- Интерфейс:
– Кнопка «Поиск по фото» в поисковой строке.
– Модальное окно с загрузкой изображения (drag-and-drop, выбор файла).
– Возможность кроппинга области изображения.
- Логика работы:
– Загруженное изображение отправляется в Яндекс Vision API.
– Из ответа API извлекаются:
– Текстовые теги (например, «хрустальная люстра», «6 рожков»).
– Векторное представление изображения (эмбеддинг).
– Поиск товаров осуществляется по векторной близости (через QDrant/FAISS) и текстовым тегам.
– Результаты выводятся в стандартном формате OpenCart.
2.2. Карусель похожих товаров
- Место отображения: Под основным изображением в карточке товара.
- Логика:
– При сохранении товара в админке его главное фото анализируется через Яндекс Vision.
– Векторное представление сохраняется в БД.
– Для карусели выбираются 8 товаров с наиболее близкими векторами.
- Кэширование: Результаты предварительно рассчитываются и сохраняются (обновление раз в неделю).
2.3. Админ-панель
- Настройки модуля:
– Поля для ввода API-ключа и ID каталога Яндекс Vision.
– Управление кэшированием (время жизни, очистка).
– Логирование запросов к API.
- Статистика:
– Количество обработанных изображений.
– Топ популярных тегов.
3. Технические требования
3.1. Интеграция с Яндекс Vision
- Используемые методы API: `Object Detection`, `Image Classification`.
- Извлечение векторных эмбеддингов через кастомный запрос к API.
- Ограничение: 10 запросов/секунду (настройка очереди задач).
3.2. Векторный поиск
- База данных: QDrant (оптимизирована для работы с векторами).
- Метрика близости: Косинусная схожесть.
- Индексация:
– Все векторы товаров индексируются при первом запуске.
– Автоматическое обновление индекса при добавлении новых товаров.
3.3. Оптимизация производительности
- Кэширование:
– Redis для кэша результатов поиска и каруселей.
– CDN (Яндекс Object Storage) для хранения изображений.
- База данных:
– Миграция таблицы товаров на InnoDB с индексами по полям `product_id`, `tags`.
– Отдельная таблица для векторных данных:
```
3.4. Безопасность
- Валидация загружаемых файлов: разрешены только JPG/PNG, макс. размер — 5 МБ.
- Защита от DDoS: ограничение 3 запроса/минуту с одного IP.
4. Этапы работ
Этап 1: Подготовка инфраструктуры
1. Настройка Яндекс Cloud: получение API-ключа, создание каталога.
2. Развертывание QDrant на отдельном сервере.
3. Миграция изображений на CDN.
Этап 2: Интеграция с OpenCart
1. Модификация шаблонов:
– Добавление кнопки «Поиск по фото» в `search.tpl`.
– Внедрение карусели в `product.tpl`.
2. Разработка кастомного модуля:
– Контроллеры для обработки изображений.
– Интеграция с QDrant API.
Этап 3: Обучение модели
1. Подготовка датасета:
– 1000 размеченных изображений (стиль, тип, материал, количество рожков).
2. Дообучение модели Яндекс Vision:
– Передача датасета в Yandex DataSphere.
– Тестирование точности (целевой показатель: F1-score > 0.85).
Этап 4: Пакетная обработка изображений
- Запуск скрипта для обработки 1 млн изображений:
Этап 5: Тестирование
1. Проверка точности:
– 200 тестовых изображений → сравнение выдачи с эталонными результатами.
2. Нагрузочное тестирование:
– 1000 одновременных запросов → время отклика < 2 сек.
---
### 5. Требования к исполнителю
- Опыт работы с OpenCart 2.3 (портфолио с модулями).
- Знание Python/PHP, REST API, векторных БД.
- Компетенции в компьютерном зрении (дообучение моделей).
---
### 6. Критерии приемки
- Поиск по фото:
– Точность выдачи > 80% (соответствие тестовым запросам).
– Время обработки запроса < 3 сек.
- Карусель:
– Отсутствие дубликатов в рекомендациях.
– Загрузка карусели < 1 сек.
---
### 7. Сроки и бюджет
- Сроки: 3–4 месяца.
- Бюджет:
– Разработка: 250 000 – 400 000 руб.
– Дообучение модели: 50 000 – 80 000 руб.
– Пакетная обработка изображений: 15 000 руб. (API-запросы).
---
### 8. Дополнительные условия
- Гарантийный период: 6 месяцев (исправление багов бесплатно).
- Передача полной документации и исходного кода.
---
Приложения:
1. Пример датасета (10 изображений с метками).
2. Схема архитектуры системы.
Цель:
Реализовать функционал поиска товаров по фотографии и автоматическую карусель похожих товаров в карточках, адаптированную под специфику ниши (люстры, светильники).
Основные задачи:
1. Интеграция Яндекс Vision API для анализа изображений.
2. Дообучение модели компьютерного зрения на датасете пользователя.
3. Внедрение векторного поиска для повышения точности рекомендаций.
4. Оптимизация производительности для работы с 150k товаров и 1 млн изображений.
2. Функциональные требования
2.1. Визуальный поиск товаров
- Интерфейс:
– Кнопка «Поиск по фото» в поисковой строке.
– Модальное окно с загрузкой изображения (drag-and-drop, выбор файла).
– Возможность кроппинга области изображения.
- Логика работы:
– Загруженное изображение отправляется в Яндекс Vision API.
– Из ответа API извлекаются:
– Текстовые теги (например, «хрустальная люстра», «6 рожков»).
– Векторное представление изображения (эмбеддинг).
– Поиск товаров осуществляется по векторной близости (через QDrant/FAISS) и текстовым тегам.
– Результаты выводятся в стандартном формате OpenCart.
2.2. Карусель похожих товаров
- Место отображения: Под основным изображением в карточке товара.
- Логика:
– При сохранении товара в админке его главное фото анализируется через Яндекс Vision.
– Векторное представление сохраняется в БД.
– Для карусели выбираются 8 товаров с наиболее близкими векторами.
- Кэширование: Результаты предварительно рассчитываются и сохраняются (обновление раз в неделю).
2.3. Админ-панель
- Настройки модуля:
– Поля для ввода API-ключа и ID каталога Яндекс Vision.
– Управление кэшированием (время жизни, очистка).
– Логирование запросов к API.
- Статистика:
– Количество обработанных изображений.
– Топ популярных тегов.
3. Технические требования
3.1. Интеграция с Яндекс Vision
- Используемые методы API: `Object Detection`, `Image Classification`.
- Извлечение векторных эмбеддингов через кастомный запрос к API.
- Ограничение: 10 запросов/секунду (настройка очереди задач).
3.2. Векторный поиск
- База данных: QDrant (оптимизирована для работы с векторами).
- Метрика близости: Косинусная схожесть.
- Индексация:
– Все векторы товаров индексируются при первом запуске.
– Автоматическое обновление индекса при добавлении новых товаров.
3.3. Оптимизация производительности
- Кэширование:
– Redis для кэша результатов поиска и каруселей.
– CDN (Яндекс Object Storage) для хранения изображений.
- База данных:
– Миграция таблицы товаров на InnoDB с индексами по полям `product_id`, `tags`.
– Отдельная таблица для векторных данных:
```
3.4. Безопасность
- Валидация загружаемых файлов: разрешены только JPG/PNG, макс. размер — 5 МБ.
- Защита от DDoS: ограничение 3 запроса/минуту с одного IP.
4. Этапы работ
Этап 1: Подготовка инфраструктуры
1. Настройка Яндекс Cloud: получение API-ключа, создание каталога.
2. Развертывание QDrant на отдельном сервере.
3. Миграция изображений на CDN.
Этап 2: Интеграция с OpenCart
1. Модификация шаблонов:
– Добавление кнопки «Поиск по фото» в `search.tpl`.
– Внедрение карусели в `product.tpl`.
2. Разработка кастомного модуля:
– Контроллеры для обработки изображений.
– Интеграция с QDrant API.
Этап 3: Обучение модели
1. Подготовка датасета:
– 1000 размеченных изображений (стиль, тип, материал, количество рожков).
2. Дообучение модели Яндекс Vision:
– Передача датасета в Yandex DataSphere.
– Тестирование точности (целевой показатель: F1-score > 0.85).
Этап 4: Пакетная обработка изображений
- Запуск скрипта для обработки 1 млн изображений:
Этап 5: Тестирование
1. Проверка точности:
– 200 тестовых изображений → сравнение выдачи с эталонными результатами.
2. Нагрузочное тестирование:
– 1000 одновременных запросов → время отклика < 2 сек.
---
### 5. Требования к исполнителю
- Опыт работы с OpenCart 2.3 (портфолио с модулями).
- Знание Python/PHP, REST API, векторных БД.
- Компетенции в компьютерном зрении (дообучение моделей).
---
### 6. Критерии приемки
- Поиск по фото:
– Точность выдачи > 80% (соответствие тестовым запросам).
– Время обработки запроса < 3 сек.
- Карусель:
– Отсутствие дубликатов в рекомендациях.
– Загрузка карусели < 1 сек.
---
### 7. Сроки и бюджет
- Сроки: 3–4 месяца.
- Бюджет:
– Разработка: 250 000 – 400 000 руб.
– Дообучение модели: 50 000 – 80 000 руб.
– Пакетная обработка изображений: 15 000 руб. (API-запросы).
---
### 8. Дополнительные условия
- Гарантийный период: 6 месяцев (исправление багов бесплатно).
- Передача полной документации и исходного кода.
---
Приложения:
1. Пример датасета (10 изображений с метками).
2. Схема архитектуры системы.
Разделы:
Заказ
Опубликован:
28.01.2025 | 08:14 [поднят: 28.01.2025 | 08:14]