Перейти к содержимому
← Назад к списку проектов

Кейс · Computer Vision и GenAI

OpenCV Gemini eBay API SQLite

Book Lister AI

Настольное приложение, которое сканирует подержанные книги меньше чем за 30 секунд через Gemini Vision, устанавливает цену в реальном времени и публикует на eBay, +400 % к производительности благодаря Computer Vision и GenAI.

+0%
выше производительность на сотрудника
300 сек
на книгу вместо 3–5 минут вручную
0 / 5
оценка клиента на Upwork

Задача

В торговле подержанными книгами узкое место не продажа, а ввод данных. На одну книгу персонал тратил 3–5 минут: фотография, ввод (название, автор, ISBN), подбор цены, SEO-оптимизация и загрузка. При тысячах книг в месяц накапливаются огромные расходы на персонал, ещё до того, как заработан первый евро.

Решение: железо + ИИ

End-to-end-пайплайн, связывающий физическое сканирование с мультимодальным ИИ и внешними API в реальном времени:

  • Smart Scanning. Книга кладётся на коврик с ArUco-маркерами. Веб-камера в реальном времени корректирует перспективу, физически измеряет размеры (автоматические классы доставки) и сканирует штрих-код.
  • Извлечение данных ИИ. Два скана высокого разрешения (обложка + задняя сторона) отправляются в Gemini 2.5 Flash. Строгая JSON-схема извлекает название, автора, издательство, год.
  • Автоматическое ценообразование. Сверка с Google Books API, запрос eBay Browse API для актуального сравнения с конкурентными предложениями, расчёт конкурентной цены с защитой маржи.
  • Фоновая загрузка. Один клик, фоновый воркер публикует листинг через eBay Trading API, пока сканируется следующая книга.

Инженерные решения и отказоустойчивая архитектура

Абсолютная надёжность была ключевым приоритетом, приложение работает в условиях реального склада, сбои стоят денег:

  • Trust-but-verify для данных ИИ. LLM иногда галлюцинируют ISBN, поэтому ответ ИИ обрабатывается только как гипотеза. ISBN обязательно сверяется со сканированным штрих-кодом и fuzzy-match в Google Books (thefuzz). Ошибочные данные блокируются до того, как попадут в листинг.
  • Гибридное computer vision. Двойная система декодирования штрих-кодов (ZBar для чистых, zxing-cpp для повреждённых), максимум распознавания даже для старых потёртых книг.
  • Thread-safe capture pipeline. Чтобы предотвратить Windows-STATUS_HEAP_CORRUPTION-падения из-за конкурирующих рестартов камеры: строгий VideoCapture-ownership в выделенном capture-потоке под watchdog-контролем.
  • Zero-touch миграции базы. SQLite в WAL-режиме с автоматической миграцией схемы при старте. Каждая миграция покрыта явным pytest-тестом. Обновления раскатываются без ручного вмешательства клиента.
Book Lister AI — инфографика до/после

Результат

  • +400 % к производительности. С 3–5 минут на книгу до менее чем 30 секунд.
  • Холодный старт → первый кадр: 2–4 секунды.
  • Скан → цена: 4–6 секунд.
  • ~6 450 LOC продакшн-кода, покрытых ~2 720 LOC unit-тестов (260+ pytest-тестов) + GitHub Actions CI.
  • Деплой: 165 МБ монолитный PyInstaller-executable, двойной клик, готово.