Vyvinuli jsme inteligentní vyhledávací systém nové generace, nasazený jako samostatná mikroslužba s minimálními nároky na integraci do stávající infrastruktury e-shopu.
Hybridní vyhledávání (BM25 + vektorová podobnost)
Jádrem řešení je kombinace dvou komplementárních přístupů propojených algoritmem Reciprocal Rank Fusion (RRF). Klasické fulltextové vyhledávání (BM25) zajišťuje přesnost u konkrétních dotazů — kódů produktů, značek, přesných názvů. Vektorové sémantické vyhledávání pomocí AI embeddingů (OpenAI text-embedding-3-small, 1536 dimenzí) rozumí významu dotazu a nachází relevantní produkty i tehdy, když zákazník svou potřebu popíše vlastními slovy.
Dvou-fázové vyhledávání podle předmětu (Subject Search)
Unikátní přístup napodobující lidské uvažování. V první fázi systém z dotazu extrahuje hlavní předmět — z „kladivo zámečnické 500g“ identifikuje „kladivo“. V druhé fázi výsledky přeřadí podle shody s modifikátory („zámečnické“, „500g“). Zákazník tak vždy dostane produkty správné kategorie, seřazené podle relevance k jeho konkrétním požadavkům.
Inteligentní zpracování dotazu
Každý dotaz prochází komplexním pipeline: normalizace (odstranění diakritiky, sjednocení formátu), extrakce atributů přímo z dotazu (hmotnost, délka, průměr), expanze synonym („šroubovák“ → „šroubovatko“, „šroubovačka“), klasifikace typu dotazu a tolerance překlepů pomocí trigramové podobnosti a Levenshteinovy vzdálenosti.
Hlasové vyhledávání
Plně integrované hlasové vyhledávání funguje přímo v prohlížeči bez nutnosti instalace. Přepis řeči zajišťuje ElevenLabs Scribe v1 s podporou slovenštiny a češtiny. Systém automaticky normalizuje přepis — převede „pět set“ na „500″ a opraví případné nepřesnosti.
AI obohacení produktových dat
Pomocí LLM (GPT-4o-mini) automaticky extrahujeme strukturované atributy z nestrukturovaných popisů produktů — fyzické parametry, elektrické parametry, kategorizaci. Tato data zlepšují přesnost filtrování a otevírají cestu k pokročilým funkcím jako srovnání produktů či personalizovaná doporučení.
Technologický stack
Řešení běží na Pythonu 3.11+ s FastAPI (plně asynchronní), PostgreSQL 17 s rozšířením pgvector pro vektorovou podobnost, Redis 8 pro víceúrovňový caching a LiteLLM Proxy jako centralizovaný gateway pro všechny AI služby. Kvalitu kódu zajišťuje automatizovaný CI/CD pipeline zahrnující pytest, mypy, bandit, black a ruff.