feat: multi-robot architecture, car-robot rename, and credit-based OCR logic spec
This commit is contained in:
@@ -133,4 +133,16 @@ A fejlesztések rendben tartásához javaslom a **`17_DEVELOPER_NOTES_AND_PITFAL
|
||||
|
||||
### 🛠️ Refaktor (Refactor)
|
||||
- **Modell Konszolidáció:** A korábbi `Vehicle` és `VehicleBrand` modellek beolvasztva az új `Asset` és `VehicleCatalog` struktúrába.
|
||||
- **Kapcsolati Térkép:** Az `Organization` és `User` modellek frissítve az új Asset logikához.
|
||||
- **Kapcsolati Térkép:** Az `Organization` és `User` modellek frissítve az új Asset logikához.
|
||||
|
||||
## [0.3.5] - 2026-02-07
|
||||
### ✨ Robot Technológia & Adatbiztonság
|
||||
- **Multi-Robot Architektúra:** Előkészítve a kategória-specifikus (Car, Bike, Truck) Harvester robotok szétválasztása.
|
||||
- **Status Tracking:** Bevezetve a `verification_status` a katalógus elemekhez a hiányos adatok kezelésére.
|
||||
- **SQL Optimalizálás:** Új indexek és kategória alapú szűrések hozzáadva a globális katalógushoz.
|
||||
|
||||
## [0.4.0] - 2026-02-07
|
||||
### ✨ Multi-Robot System
|
||||
- **Kategória Robotok:** Elkészült a Car, Bike és Truck harvester moduláris szerkezete.
|
||||
- **Robot Manager:** Központi vezérlő az ütemezett és sorrendi adatgyűjtéshez.
|
||||
- **Katalógus Kereső:** Üzembe helyezve a `/catalog/search` végpont a Swaggerben.
|
||||
@@ -82,4 +82,87 @@ Ha a jármű sehol nem szerepel (pl. épített versenyautó, egyedi yacht):
|
||||
1. **Manuális nyilatkozat:** A felhasználó rögzíti az adatokat.
|
||||
2. **Dokumentum alapú validáció:** A forgalmi engedély vagy sportigazolvány fotóját kötelező feltölteni.
|
||||
3. **AI Verifikáció:** A rendszer OCR-rel (szövegfelismerés) kiolvassa az adatokat a fotóról, és összeveti a manuális bevitelével.
|
||||
4. **"Unverified Model" jelzés:** A katalógusban egyedi azonosítót kap, amíg egy admin vagy a Robot más forrásból meg nem erősíti.
|
||||
4. **"Unverified Model" jelzés:** A katalógusban egyedi azonosítót kap, amíg egy admin vagy a Robot más forrásból meg nem erősíti.
|
||||
|
||||
## 8. Multi-Robot Harvester Architektúra
|
||||
|
||||
A rendszer kategóriánként különálló kutató robotokat használ az erőforrások optimalizálása és az adatok pontossága érdekében.
|
||||
|
||||
### A) Működési elv
|
||||
- **Ütemezett futás:** Minden kategória (Autó, Motor, Teher, Hajó) saját időablakban frissít, elkerülve a szerver túlterhelését.
|
||||
- **Hiányos adatok kezelése:** A Robot köteles rögzíteni a járművet akkor is, ha csak részleges információt talál (pl. csak márka és típus).
|
||||
- **Státusz jelölések (`verification_status`):**
|
||||
- `verified`: Teljes DNS adatsor (Robot által hitelesítve).
|
||||
- `incomplete`: Alapadatok megvannak, de hiányoznak technikai részletek (pl. guminyomás, olaj).
|
||||
- `pending`: Felhasználó által felvett, Robot általi ellenőrzésre váró egyedi típus.
|
||||
|
||||
### B) On-Demand prioritás
|
||||
Amikor a felhasználó olyan típust keres, ami nem szerepel a katalógusban, a rendszer egy "Priority Trigger"-t küld az adott kategória Robotjának, amely soron kívül megkezdi a célzott adatgyűjtést.
|
||||
|
||||
## 9. OCR és Dokumentum Validációs Stratégia
|
||||
|
||||
A rendszer a járműokmányok (forgalmi engedély, hajólevél, lajstrom) feldolgozására hibrid OCR (Optical Character Recognition) technológiát alkalmaz.
|
||||
|
||||
### A) Hibrid Feldolgozási Sorrend (Failover Logic)
|
||||
A költséghatékonyság és a pontosság érdekében a rendszer az alábbi sorrendben próbálkozik:
|
||||
1. **Tier 1 (External Free/Limited APIs):** Ingyenes keretű felhő szolgáltatások (pl. Google Vision API, Azure Form Recognizer). A rendszer figyeli a havi limiteket, és azok elérésekor automatikusan vált a következő szolgáltatóra.
|
||||
2. **Tier 2 (Saját Erőforrás - Fallback):** Ha minden ingyenes külső keret elfogyott, a rendszer a saját szerveren futó PaddleOCR (AI alapú) modult használja.
|
||||
|
||||
### B) Monetizáció és Jogosultságok
|
||||
A dokumentum alapú automata rögzítés és validáció prémium funkció:
|
||||
- **Free/Lite:** Manuális rögzítés (limitált mezők).
|
||||
- **VIP:** Automata rögzítés (OCR) 1-2 eszközre.
|
||||
- **VIP + / Premium +:** Korlátlan okmányfelismerés, automata lejárati figyelmeztetések és hivatalos adat-összevetés.
|
||||
|
||||
## 10. Multi-Robot Harvester (Moduláris Felépítés)
|
||||
|
||||
A járműkatalógus feltöltését egy bázis-osztályra (`BaseHarvester`) épülő, kategória-specifikus robotcsalád végzi.
|
||||
|
||||
- **Autó Robot:** Közúti gépjárművekre optimalizálva.
|
||||
- **Motor Robot:** Kétkerekű és hobbi járművekre.
|
||||
- **Heavy Duty Robot:** Teherautók, kamionok és munkagépek specifikációira.
|
||||
- **Specialty Robot:** Vízi és légi járművek egyedi azonosítóihoz (MMSI, Lajstrom).
|
||||
|
||||
# 🏎️ Asset és Flotta Specifikáció: A Járművek DNS-e (v1.2)
|
||||
|
||||
## 7. Kivételkezelés: Ismeretlen és Egyedi Járművek
|
||||
- **On-Demand Harvester:** Ha a katalógus hiányos, a Robot kérésre (Trigger) indítja a mélykeresést.
|
||||
- **Custom Asset:** Egyedi/Sport eszközök rögzítése dokumentum alapú validációval.
|
||||
|
||||
## 8. Multi-Robot Harvester Architektúra
|
||||
A rendszer kategória-specifikus (Car, Bike, Truck, Specialty) robotokat használ.
|
||||
- **Ütemezés:** Éjszakai batch-futás a szerver terhelésének minimalizálására.
|
||||
- **Státuszok:** `verified` (teljes), `incomplete` (részleges), `pending` (ellenőrzésre vár).
|
||||
|
||||
## 9. VIN (Alvázszám) és Validáció
|
||||
- **Algoritmus:** Minden közúti járműnél kötelező a VIN Checksum (MOD 11) ellenőrzése a beíráskor.
|
||||
- **Auto-Fill:** Érvényes alvázszám esetén a rendszer felajánlja a gyártói adatok (gyártási év, üzem, motorverzió) automatikus kitöltését.
|
||||
|
||||
## 10. Dokumentum Kezelés és Tárolás (NAS)
|
||||
Minden eszközhöz csatolt dokumentum (forgalmi, fotók, számlák) központi NAS tárolón kerül rögzítésre.
|
||||
- **Elérési út:** `/mnt/nas/app_data/assets/{asset_id}/`
|
||||
- **Archiválás:** `/mnt/nas/git_vault/` (Adatbázis mentések és konfigurációk).
|
||||
|
||||
## 11. OCR és Üzleti Logika (Tier-based)
|
||||
A dokumentumfelismerés (OCR) prioritása a felhasználói csomagtól függ:
|
||||
- **VIP+ / Premium+:** Azonnali (Real-time) OCR feldolgozás. A felhasználó a feltöltés után 3-5 másodperccel már látja az előtöltött adatokat.
|
||||
- **Alap csomag:** Háttérfolyamat (Background task). A feldolgozás sorban állítás után történik, a felhasználó értesítést kap a befejezésről.
|
||||
- **Failover:** Külső API-k (Google/Azure) és saját erőforrás (PaddleOCR) hibrid használata a költségkontroll érdekében.
|
||||
|
||||
## 12. OCR Monetizáció és Kreditszabályok (Admin Kontroll)
|
||||
|
||||
A rendszer az OCR alapú adatbeolvasást kvótákhoz és kreditekhez köti.
|
||||
|
||||
### A) Csomag alapú kvóták (Admin beállítás)
|
||||
Az Admin felületen csomagonként (Lite, VIP, VIP+) meghatározható egy ingyenes havi dokumentum-beolvasási keret:
|
||||
- **Lite:** 0-1 scan/hó.
|
||||
- **VIP:** 10 scan/hó.
|
||||
- **VIP+:** Korlátlan vagy magas limit (pl. 100).
|
||||
|
||||
### B) Kreditalapú túllépés
|
||||
Ha a felhasználó kimerítette a keretét, minden további beolvasás kreditért vásárolható meg.
|
||||
- **Egységár:** Admin felületről állítható (pl. 1 beolvasás = 10 kredit).
|
||||
- **Tranzakció:** A rendszer levonja a kreditet a felhasználó `Wallet`-jéből a sikeres OCR feldolgozás után.
|
||||
|
||||
### C) Egyedi engedélyek (Permissions)
|
||||
Lehetőség van egyedi felhasználóknak vagy flottáknak "OCR_Override" jogot adni, amivel a csomagtól függetlenül ingyenes vagy kedvezményes beolvasást kapnak (pl. tesztelők vagy stratégiai partnerek).
|
||||
Reference in New Issue
Block a user