← Barcha loyihalar
Ishga tushirilgan G-Man Auto Parts · 2025–2026

Avtoehtiyot qismlar uchun AI semantik qidiruv

Xaridorlar va yetkazib beruvchilar aniq bir avtomobil uchun aynan kerakli qismni oʻz tilida oddiy soʻzlar bilan yozib topa olishi kerak edi. Qidiruvni boshidan oxirigacha yaratdim, shuningdek u davlat R&D dasturi talab qilgan 95% aniqlikka yetganini isbotlagan testlar toʻplamini ham qurdim.

Mening rolim
Yagona AI/ML muhandisi. Dizayn, embeddinglar, obyektlarni aniqlash, LLM bosqichlari, baholash va tizimni real ishda yuritish uchun men javob berganman.
Natija
Davlat R&D dasturining 3000 ta qismdan iborat testida 95%+ aniqlik. Loyiha tasdiqlandi.
Texnologiyalar
Python, Django REST Framework, Weaviate, spaCy, OpenAI API (GPT-4o-mini), Celery, PostgreSQL, AWS S3
Koʻlam
2 milliondan ortiq qism yozuvi boʻlgan katalog hamda Kia, Hyundai, SsangYong va Chevrolet avtomobillari uchun sotuvdagi va qidirsa boʻladigan 300 mingdan ortiq eʼlon

Muammo

Odamlar bir xil qismni turlicha ataydi: “headlight” yoki “head lamp”, norasmiy nomlar yoki boshqa tillardagi soʻzlar. Lekin toʻgʻri javob — aniq bir avtomobil uchun bitta qism raqami: marka, model, yil, yoqilgʻi turi, uzatmalar qutisi, avlod va tomon (chap yoki oʻng, old yoki orqa).

Qatʼiy kalit soʻz filtrlari bu vazifani uddalay olmadi. Kompaniyaga oddiy tilni tushunadigan va deyarli har safar toʻgʻri qismni qaytaradigan qidiruv kerak edi. Qidiruv davlat R&D dasturiga topshirilgan loyihaning bir qismi ham edi. Loyiha tasdiqlanishi uchun qidiruv 3000 ta qismdan iborat belgilangan testda 95% aniqlikka yetishi kerak edi.

Soʻrov qanday qayta ishlanadi

  1. Tilni aniqlash Avval tilni aniqlovchi kichik model ishlaydi, shuning uchun LLM faqat kerak boʻlganda chaqiriladi.
  2. LLM bilan normallashtirish Ingliz tilida boʻlmagan soʻrovlar tarjima qilinadi va tozalanadi (GPT-4o-mini).
  3. Obyektlarni ajratish spaCy NER marka, model, yil, yoqilgʻi, uzatmalar qutisi, qism nomi, tomon va avlodni topadi.
  4. Filtrlangan vektor qidiruv Topilgan obyektlar Weaviate bazasidagi semantik qidiruvga qoʻshimcha aniq filtrga aylanadi.
  5. LLM bilan qayta saralash LLM post-filtri yaqqol notoʻgʻri natijalarni olib tashlaydi va qolganlarini qayta tartiblaydi.
  6. Natijalar Xaridorlar uchun mahsulot qidiruvi yoki yetkazib beruvchilar uchun katalog bilan moslashtirish.
  • Django REST APIIkkala qidiruv rejimini doʻkon va admin vositalariga taqdim etadi
  • Aniqlik testlari toʻplamiXuddi shu konveyerni belgilangan test toʻplamida ishga tushiradi
  • S3 hisobotlariHar bir test natijasi saqlanadi va qayta joylashtirishdan keyin ham yoʻqolmaydi
Ishlab turgan qidiruv konveyeri. Punktir bilan belgilangan qadam faqat ingliz tilida boʻlmagan soʻrovlar uchun ishlaydi.

Misol: bitta soʻrov qadamma-qadam

  1. Koreys tilida yozilgan soʻrov 현대 쏘나타 2019 왼쪽 헤드라이트
  2. LLM bilan normallashtirishdan keyin Hyundai Sonata 2019 left headlight
  3. Aniq filtr sifatida ishlatiladigan obyektlar
    • brand: Hyundai
    • model: Sonata
    • year: 2019
    • side: left
    • part: headlight
    Muqobil nomlar roʻyxati “headlight” soʻzini katalogdagi Head Lamp Assembly nomiga aylantiradi.
  4. Vektor qidiruv va LLM bilan qayta saralashdan keyingi natijalar
    • Head Lamp Assembly · Left birinchi oʻrinda
    • Fog Lamp · Left LLM chiqarib tashladi
Qadamlarni koʻrsatish uchun tuzilgan toʻqima soʻrov.

Nima yaratdim

  • Vektor qidiruv yadrosi. Ehtiyot qismlar katalogini Weaviate bazasiga embedding koʻrinishida joyladim va qidiruv xizmatini Django REST Framework yordamida qurdim. Har bir qism uchun qaysi matn embedding qilinishini oʻzim tanladim, masalan, maydon nomlari, tomon, avtomobil yili va tanlangan sinonimlar, shunda toʻgʻri qismlarning koʻprogʻi topiladi.
  • Obyektlar qatʼiy filtr sifatida. spaCy erkin matnli soʻrovdan tuzilgan faktlarni ajratib oladi va ularni aniq filtrlarga aylantiradi. Vektor qidiruv turli ifodalarni tushunadi, filtrlar esa avtomobil va tomon toʻgʻri boʻlishini kafolatlaydi.
  • Ikki qidiruv rejimi. Xaridorlar mahsulot qidiruvidan foydalanadi. Yetkazib beruvchilar avtomatik moslashtirishdan foydalanadi: ular qism yuklaganida qidiruv uni katalog yozuvlari bilan moslashtiradi va har bir alohida qism raqami alohida natija boʻladi.
  • Koʻp tilli soʻrovlar. Ingliz tilida boʻlmagan soʻrovlarni LLM tarjima qiladi va tozalaydi. Uni GPT-3.5-Turbo modelidan GPT-4o-mini modeliga oʻtkazish sifatni oshirib, xarajatni kamaytirdi, tilni aniqlash bosqichi esa LLM chaqiruvlari sonini kam ushlab turadi.
  • Relevantlikni sozlash. LLM yordamidagi qayta saralovchi yaqqol notoʻgʻri natijalarni olib tashlaydi. Muqobil nomlar roʻyxati kundalik soʻzlarni katalog nomlariga bogʻlaydi, shunda “headlight” soʻzi Head Lamp Assembly qismini topadi. Bu kundalik ifodalardagi aniqlikni oshirdi.
  • Frontend bilan ulash. Onlayn doʻkon va admin vositalarini qidiruv API xizmatlariga uladim. Sahifadagi filtrlar soʻrovga uzatiladi, topilgan moslik yetkazib beruvchining formasini toʻldiradi, natijalar esa relevantlik boʻyicha saralanadi va ishonch chegarasidan pastdagilari kesib tashlanadi.

Aniqlikni oʻlchash

Aniqlikni taxmin qilish emas, oʻlchash kerak edi. Ishlab turgan qidiruv bilan bir xil konveyerni belgilangan, saralangan test toʻplamida ishga tushiradigan ichki test sahifasini yaratdim.

  • Metrikalar: accuracy@1 va accuracy@3, precision, recall, F1, confusion matrix va kross-validatsiya.
  • Takrorlanadigan sinovlar: avtomatik yoki qoʻlda. Har bir sinovda uni kim ishga tushirgani va LLM bosqichi yoqilgan-yoqilmagani qayd etiladi.
  • Xavfsiz dizayn: test maʼlumotlari alohida kolleksiyalarda saqlanadi, himoya choralari esa testning ishchi maʼlumotlarga tegishiga hech qachon yoʻl qoʻymaydi.
  • Xatoliklar tahlili: soʻrov hech narsa qaytarmaganda sababini izlab topdim, masalan, eskirgan test yozuvi, katalogdagi yozuviga mos kelmagan eʼlon, bir-biriga zid ikkita obyekt shabloni yoki soʻrovdagi kuzov rangi, va har birini tuzatdim.

Natijalar

  • 95%+davlat dasturining 3000 ta qismdan iborat testida aniqlik
  • TasdiqlandiR&D loyihasi, testdan oʻtgach
  • 300 ming+sotuvdagi va qidirsa boʻladigan eʼlon, 2 mln+ qism yozuvidan iborat katalogdan

Qidiruv xaridorlar va yetkazib beruvchilar uchun ishga tushirildi. Shuningdek, avtomatik aniqlik testlarini ishchi muhitda ham oʻtkazdim va ular topgan muammolarni tuzatdim.

Bu sahifada ish beruvchining kodi, ichki maʼlumotlar va yopiq URL manzillar keltirilmagan.