Hoe bouw je in 5 weken een aanbevelingssysteem in TravelTech: Kafka en MongoDB in plaats van een feature store
Tutu
Een MLOps-engineer van Tutu beschrijft hoe er in vijf weken vanaf nul een aanbevelingssysteem is gebouwd met Kafka, MongoDB en ClickHouse, waarbij bewust een feature store werd vermeden vanwege de snelheid. Het systeem stelt hotels voor na een aankoop van een transportticket, gebruikmakend van realtime ordergegevens uit Kafka en nachtelijke batchfuncties uit ClickHouse, alles opgeslagen in MongoDB voor snelle inferentie.
Christina, MLOps-ingenieur bij Tutu, legt uit hoe haar team in slechts vijf weken een aanbevelingssysteem (RecSys v1) lanceerde om een deadline in het hoogseizoen te halen. In plaats van een volledige Feature Store te bouwen, wat maanden zou hebben gekost, gebruikten ze MongoDB als tijdelijke online opslag, waarbij ze realtime bestellingen vanuit Kafka en nachtelijke batchfeatures vanuit ClickHouse in één document per gebruiker schreven. De belangrijkste technische uitdaging was het omgaan met de context van een specifieke reis: bestemmingsstad, data en aantal gasten, die collaboratieve filtering alleen niet kon vastleggen. Ze ontwierpen het API-contract om een doelbestelling uit de aankoopgeschiedenis van de gebruiker te accepteren, waarbij UTC-data werden omgezet naar lokale tijd van de aankomststad om correcte in- en uitcheckdata te garanderen. Tijdens de inferentie leest de service alleen uit MongoDB, met een terugval naar top-hotels op basis van bestelaantal wanneer ALS-vectors ontbreken. Later upgradeeten ze naar CatBoost voor ranking, waarbij het model bij het opstarten van de service uit objectopslag werd geladen. Ze vulden ook historische bestellingen aan via snapshot Kafka-topics om ervoor te zorgen dat gebruikers op het warme pad een geschiedenis hadden, en ze voegden dubbele bestellingen samen op basis van order_id. Deze pragmatische aanpak stelde hen in staat om de hypothese te valideren op live verkeer zonder perfecte architectuur.
Bron: Habr — хаб ML —
origineel
