← Back to LDI documentation
$
python -X utf8 debug.py
LDI Automotive Bot — Test Suite Results
ecommerce_bot.py · SemanticValidator + FuzzyMatcher + RewardEngine · 100 scenarios across 11 categories
91%
91 / 100 scenarios passed
9 failures · 11 test groups · automotive domain
✓ 91 PASSED
✗ 9 FAILED
6 groups perfect (100%)
5 groups partial
Run: ecommerce_bot.py v5.1 · Python 3.13 · SQLite backend · 100-scenario test suite
PODSTAWOWA SPRZEDAŻ
10 / 10 · 100%
✅
#1
klocki hamulcowe BMW
expected: HIGH
✅
#2
filtr oleju Toyota Corolla
expected: HIGH
✅
#3
tarcze hamulcowe Audi A4
expected: HIGH
✅
#4
olej silnikowy 5W30
expected: HIGH
✅
#5
amortyzatory przednie Opel Astra
expected: HIGH
✅
#6
pasek rozrządu Volkswagen Golf
expected: HIGH
✅
#7
świece zapłonowe NGK
expected: HIGH
✅
#8
sprzęgło Ford Focus
expected: HIGH
✅
#9
chłodnica wody Mercedes E220
expected: HIGH
✅
#10
akumulator 12V 60Ah
expected: HIGH
PODSTAWOWE LITERÓWKI
10 / 10 · 100%
✅
#11
kloki hamulcowe BMW
expected: HIGH · fuzzy → klocki
✅
#12
filrt oleju Toyota
expected: HIGH · fuzzy → filtr
✅
#13
amortyzatr Opel
expected: HIGH · fuzzy → amortyzator
✅
#14
tarcze hamulcovve Audi
expected: HIGH · fuzzy → hamulcowe
✅
#15
swece zapłonowe NGK
expected: HIGH · fuzzy → świece
✅
#16
olej silnikwy 5W30
expected: HIGH · fuzzy → silnikowy
✅
#17
pasek rorzadu VW Golf
expected: HIGH · fuzzy → rozrządu
✅
#18
sprzegle Ford
expected: HIGH · fuzzy → sprzęgło
✅
#19
chlodnica Mercedes
expected: HIGH · fuzzy → chłodnica
✅
#20
akmulator 60Ah
expected: HIGH · fuzzy → akumulator
TRUDNE LITERÓWKI
10 / 10 · 100%
✅
#21
merecedes klocki
expected: HIGH · fuzzy → mercedes
✅
#22
wolsvagen pasek
expected: HIGH · fuzzy → volkswagen
✅
#23
tojota filtr
expected: HIGH · fuzzy → toyota
✅
#24
frod amortyzatory
expected: HIGH · fuzzy → ford
✅
#25
opi tarcze
expected: HIGH · fuzzy → opel
✅
#26
bmv olej silnikowy
expected: HIGH · fuzzy → bmw
✅
#27
renolt świece
expected: HIGH · fuzzy → renault
✅
#28
skoda hamulce tarcze
expected: HIGH
✅
#29
peugot sprzęgło
expected: HIGH · fuzzy → peugeot
✅
#30
hyuandai filtr
expected: HIGH · fuzzy → hyundai
KODY PRODUKTÓW
10 / 10 · 100%
✅
#31
1J0 615 301
expected: HIGH · OEM code VW brake disc
✅
#32
BP-VW-0013-01
expected: HIGH · internal SKU format
✅
#33
4B0 698 151 B
expected: HIGH · Audi OEM
✅
#34
LPR 05P1095
expected: HIGH · manufacturer part number
✅
#35
BOSCH 0986494040
expected: HIGH · Bosch part number
✅
#36
NGK BKR6E
expected: HIGH · spark plug code
✅
#37
Castrol 5W-30 LL
expected: HIGH · oil specification
✅
#38
13.0460-7218.2
expected: HIGH · ATE part number
✅
#39
KYB 334285
expected: HIGH · shock absorber part
✅
#40
MANN W712/52
expected: HIGH · oil filter code
ZAPYTANIA KONTEKSTOWE
9 / 10 · 90%
✅
#41
co pasuje do BMW E46 320d
expected: MEDIUM
✅
#42
zamiennik klocków Textar
expected: HIGH
✅
#43
tanie klocki do Golfika
expected: MEDIUM · slang "Golfik"
❌
#44
coś do skrzyni biegów ZF
expected: MEDIUM
got: LOW — "coś" zbyt niespecyficzne, klasyfikator nie rozpoznał intencji zakupu
✅
#45
ile kosztuje wymiana sprzęgła
expected: LOW (query intent, not purchase)
✅
#46
przednie hamulce Opel Vectra 1.9 CDTi
expected: HIGH
✅
#47
wymieniam amortyzatory co polecacie
expected: MEDIUM
✅
#48
silnik stuka warto sprawdzić
expected: LOW
✅
#49
tarcze 300mm przód A3
expected: HIGH
✅
#50
filtr kabinowy z węglem aktywnym Ford S-Max
expected: HIGH
SLANG MECHANIKÓW
8 / 10 · 80%
✅
#51
hamulce do beemki
expected: HIGH · slang "beemka" → BMW
✅
#52
tarcze do Golfa
expected: HIGH
✅
#53
klocki do Escorta
expected: HIGH · Ford Escort
❌
#54
klocki do japońca 1.8
expected: MEDIUM
got: LOW — "japoniec" jest w slowniku ale bez pojemności 1.8 klasyfikator odpada
✅
#55
olej do niemca
expected: MEDIUM · slang "niemiec" → German brand
✅
#56
sprzęgło do francuza
expected: MEDIUM · "francuz" → French brand
✅
#57
amortyzatory do kombika
expected: MEDIUM · "kombik" → kombi/estate
✅
#58
pasek do turbodiesla
expected: HIGH
❌
#59
coś do skrzyni manuala
expected: MEDIUM
got: LOW — "manual" bez marki/produktu → zbyt ogólne
✅
#60
tarcze wentylowane do sportówki
expected: HIGH
MIESZANE JĘZYKI
9 / 10 · 90%
✅
#61
BMW oil filter 5W30
expected: HIGH
❌
#62
brake pads Audi
expected: HIGH
got: MEDIUM — "brake pads" w angielskim nie trafia do polskiego słownika klocki hamulcowe
✅
#63
shock absorbers VW Golf
expected: HIGH
✅
#64
klocki brake pads BMW
expected: HIGH · mixed pl+en
✅
#65
timing belt Opel
expected: HIGH
✅
#66
Stoßdämpfer Opel Astra
expected: HIGH · German "Stoßdämpfer" → amortyzatory
✅
#67
oil filter Mann BMW 520d
expected: HIGH
✅
#68
clutch kit Ford Focus diesel
expected: HIGH
✅
#69
alternator Toyota remanufactured
expected: HIGH
✅
#70
Bremsscheiben Audi A6
expected: HIGH · German "Bremsscheiben" → tarcze
SPECYFIKACJE TECHNICZNE
7 / 10 · 70%
✅
#71
tarcze 288x25mm wentylowane przód
expected: HIGH
✅
#72
olej 0W40 full synthetic
expected: HIGH
❌
#73
klocki 17 calowe BMW
expected: HIGH
got: MEDIUM — "17 calowe" odnosi się do felg nie klocków; klasyfikator robi błąd kontekstowy
✅
#74
akumulator 74Ah 750A rozruchowy
expected: HIGH
✅
#75
filtr powietrza panel 285x225mm
expected: HIGH
✅
#76
pasek wielorowkowy 6PK1550
expected: HIGH
✅
#77
amortyzator Ø 55mm skok 155mm
expected: HIGH
✅
#78
świece 14mm 19mm klucz NGK
expected: HIGH
❌
#79
hamulce 265/65R17
expected: MEDIUM — rozmiar opony, nie hamulców
got: HIGH — klasyfikator rozpoznał hamulce ale zignorował rozmiar oponowy jako niespójność
❌
#80
sprzęgło moment 340Nm pojemność 2.0
expected: HIGH
got: MEDIUM — specyfikacja momentu obrotowego rzadka w katalogu, fuzzy nie trafia
FILTROWANIE NONSENSU
4 / 5 · 80%
✅
#81
pizza carbonara
expected: NO_MATCH · food domain
✅
#82
qwerty asdf zxcv
expected: NO_MATCH · keyboard mash
✅
#83
iPhone 13
expected: NO_MATCH · consumer electronics in moto store
✅
#84
Galaxy S23 Ultra
expected: NO_MATCH · smartphone in moto store
❌
#85
klocki do roweru górskiego
expected: NO_MATCH · bicycle, not automotive
got: MEDIUM — "klocki" trafił do słownika moto; brak rozróżnienia rower vs. auto
UTRACONY POPYT PREMIUM
10 / 10 · 100%
✅
#86
Brembo GT 6-tłoczkowy
expected: NO_MATCH (premium not in catalog)
✅
#87
klocki Pagid Racing
expected: NO_MATCH (racing brand)
✅
#88
EBC Yellowstuff BMW M3
expected: NO_MATCH
✅
#89
amortyzatory KW Variant 3
expected: NO_MATCH (coilover kit)
✅
#90
olej Motul 300V 5W40
expected: NO_MATCH
✅
#91
Öhlins TTX GP
expected: NO_MATCH (motorsport)
✅
#92
Bilstein B16 BMW E90
expected: NO_MATCH
✅
#93
Stoptech Street klocki Audi RS
expected: NO_MATCH
✅
#94
AP Racing CP9660 zacisk
expected: NO_MATCH
✅
#95
Ferodo DS2500 klocki wyścigowe
expected: NO_MATCH
EDGE CASES
4 / 5 · 80%
✅
#96
k
expected: NO_MATCH · single character
✅
#97
123456789
expected: NO_MATCH · pure digits
✅
#98
!!!???###
expected: NO_MATCH · special chars only
✅
#99
klocki klocki klocki klocki klocki klocki klocki klocki klocki klocki
expected: LOW · spam repetition
❌
#100
nowe hamulce i może opony też albo nie wiem
expected: MEDIUM
got: LOW — wieloczłonowe niezdecydowane zapytanie; klasyfikator nie wyciąga intencji z naturalnej mowy
WYNIK KOŃCOWY: 91/100 scenariuszy (91.0%)
Grupy bezbłędne: PODSTAWOWA SPRZEDAŻ · PODSTAWOWE LITERÓWKI · TRUDNE LITERÓWKI · KODY PRODUKTÓW · UTRACONY POPYT PREMIUM
Do poprawy: SPECYFIKACJE TECHNICZNE (70%) · FILTROWANIE NONSENSU (80%) · SLANG MECHANIKÓW (80%)
Ta sama architektura na domenie elektroniki: 169/183 (w poprzednim teście). System generalizuje między domenami bez przetrainowania modelu.