Przejdź do treści

21 000 produktów opisanych i przetworzonych w 96 godzin

Ten case nie jest o tym, że AI umie pisać teksty. Jest o tym, jak przeprowadzić duży katalog Shopera przez pipeline, który czyta dane i zdjęcia, generuje opisy i metadane w zadanym formacie, sprawdza je regułami, odkłada rekordy niepewne do raportu i publikuje przez API tylko to, co przeszło kontrolę.

Shoper API Python OpenAI Vision AI walidacja logi

Katalog był kompletny handlowo, ale nie treściowo

Produkty miały SKU, ceny, stany i zdjęcia. Brakowało opisów oraz spójnych metadanych. Przy tej skali ręczne uzupełnianie oznacza miesiące pracy i nierówną jakość — a przy okazji ryzyko, że osoba pisząca „domyśli się" parametru, którego nie ma w danych.

AI nie miała prawa niczego zgadywać

Model dostawał wyłącznie dane z karty produktu i ze zdjęcia. Jeżeli materiał, skład, rozmiarówka albo przeznaczenie nie wynikały z danych wejściowych, opis nie mógł ich zawierać. Rekord z brakiem wymaganego pola nie trafiał do publikacji, tylko do raportu.

Z czego powstawał opis jednego produktu

Poniżej anonimowa próbka struktury wejścia. Konkretne dane klienta nie są publikowane — pokazujemy sam model rekordu, bo to on decyduje o jakości wyniku.

Struktura rekordu wejściowego i jego rola w generowaniu opisu
Pole wejściowePrzykład (anonimowy)Rola w generowaniuGdy brakuje
SKUXX-1042-BLK-Mklucz rekordu i publikacjirekord odrzucony
NazwaKurtka softshell męskabaza tematu opisurekord odrzucony
KategoriaOdzież → Kurtki → Softshellwybór promptu i słownictwarekord do przeglądu
Atrybutymembrana, kaptur, kieszenietreść części merytorycznejopis skrócony, bez zmyślania
Zdjęcie główneURL do pliku produktuweryfikacja cech widocznychgenerowanie tylko z atrybutów
Markamarka z kartotekiton i nazewnictwopominięta w treści
Wariantyrozmiary S–XXLinformacja o rozmiarówcebrak wzmianki o rozmiarach

Siedem etapów, każdy z własnym warunkiem przejścia

Rekord przechodzi dalej tylko wtedy, gdy spełni warunek etapu. Inaczej ląduje w raporcie z powodem odrzucenia — i można go poprawić oraz uruchomić ponownie bez ruszania reszty katalogu.

01
Eksport z Shopera

Pobranie produktów, kategorii, atrybutów i adresów zdjęć przez API. Wynik zapisany jako zbiór wejściowy — praca nigdy nie idzie bezpośrednio na produkcji.

02
Walidacja wejścia

Kontrola kompletności: SKU, nazwa, kategoria, dostępność zdjęcia. Rekordy niekompletne odpadają tutaj, zanim ktokolwiek wyda złotówkę na przetwarzanie.

03
Analiza zdjęcia

Vision AI potwierdza cechy widoczne na zdjęciu. Służy do weryfikacji, nie do wymyślania parametrów — rozbieżność z atrybutami oznacza rekord do przeglądu.

04
Generowanie

Prompt dobrany do kategorii produktu, z twardym zakazem twierdzeń nieobecnych w danych i z narzuconą strukturą: opis, SEO title, meta description.

05
Kontrola jakości

Długości pól SEO, brak zakazanych sformułowań, brak powtórzeń między produktami, poprawność językowa, zgodność z atrybutami wejściowymi.

06
Publikacja przez API

Zapis wyłącznie wybranych pól, partiami, z ponowieniem po błędzie sieci i kontrolą limitów. Pola nieobjęte zakresem pozostają nietknięte.

07
Raport końcowy

Zestawienie: opublikowane, do przeglądu, odrzucone — z powodem dla każdego rekordu i możliwością ponownego uruchomienia samej reszty.

Najciekawsze jest to, czego nie opublikowaliśmy

Odrzucenie nie jest porażką procesu — jest jego funkcją. Poniżej realne kategorie powodów, dla których rekord nie trafiał do sklepu.

  • brak zdjęcia albo zdjęcie niedostępne pod podanym adresem,
  • kategoria pusta lub niejednoznaczna, więc prompt nie miał kontekstu,
  • atrybuty sprzeczne ze zdjęciem — do decyzji człowieka,
  • zbyt mało danych, żeby napisać cokolwiek ponad ogólniki,
  • wynik nie przeszedł kontroli długości albo powtarzalności,
  • produkt archiwalny lub wycofany, oznaczony w eksporcie.
pipeline.log
EtapWarunek przejściaLog
exportrekord pobrany z APIINFO
validatekomplet pól wymaganychWARN przy braku
visionzdjęcie odczytaneWARN przy 404
generateodpowiedź w formacieERROR przy timeout
qadługości i brak duplikatuWARN → review
publishAPI zwróciło 200ERROR → retry
reportzestawienie partiiINFO

Czego ten pipeline nie robi

Nie zastępuje danych produktowych

Jeżeli katalog nie ma atrybutów, AI nie wytworzy ich z powietrza. Przy ubogich danych sensowniejszym pierwszym krokiem jest audyt i uzupełnienie kartoteki.

Nie publikuje bez kontroli

Każdy rekord przechodzi walidację, a rekordy niepewne wymagają decyzji człowieka. Tryb „wygeneruj i wypchnij" jest w tym procesie niedostępny z założenia.

Nie gwarantuje pozycji w Google

Opisy i metadane usuwają barierę wejścia, ale widoczność zależy też od struktury kategorii, indeksacji, linkowania i konkurencji w danej niszy.

Nie działa raz na zawsze

Nowe produkty wymagają kolejnych przebiegów. Dlatego proces jest powtarzalny i parametryzowany, a nie jednorazowym skryptem.

Pytania o ten pipeline

Tak, ale tylko wtedy, gdy nie działa jako luźny generator tekstu. Potrzebne są dane wejściowe, reguły jakości, walidacja, logi i możliwość pomijania produktów, których AI nie powinno opisywać bez dodatkowej informacji.
API pozwoliło aktualizować dane w sklepie w sposób kontrolowany, bez ręcznego kopiowania treści do panelu. Pozwalało to pracować partiami, logować błędy i publikować tylko te pola, które były częścią procesu.
Tak, ale najpierw trzeba sprawdzić jakość danych, platformę, dostęp do API, strukturę kategorii, zdjęcia, atrybuty i wymagania SEO. Bez tego automatyzacja może tylko szybciej powielić chaos.
Nie zawsze. Najlepiej traktować ją jako system do masowego przygotowania bazowych treści, które mają strukturę, SEO i spójność. Przy najważniejszych produktach nadal można dodać ręczną redakcję premium.

Masz katalog, którego nikt nie zdąży opisać ręcznie?

Podaj liczbę produktów, platformę i to, jakie dane masz w kartotece. Odpowiemy, czy pipeline ma sens, czy najpierw trzeba uporządkować dane wejściowe.