feat(recommender): nightly ALS with offline metrics and CF candidates in the wave (M6)
ci / recommender / recommender (push) Successful in 37s
ci / recommender / recommender (push) Successful in 37s
- Implicit scores from play events and reactions per the signals table (90-day half-life, weaker skips outside the wave, dislikes override). - numpy ALS for implicit feedback; time-split evaluation on the last 7 days (NDCG@10, Recall@50) against a popularity baseline; a new model is activated only if NDCG@10 does not regress by more than 2%. - Vectors are written to track_embeddings.cf and user_profiles_rec.taste_cf, versions to model_versions; NightlyTrainer runs at TRAIN_HOUR and on first start, `pipu-rec train` runs it manually. - Wave: cf and item_cf candidate sources and a 0.10 cf term in the v1 score; impressions are tagged heuristic-v1+cf. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
1 parent
a3f212d253
commit
3afed02f23
12 files changed
+623
-8
No files matched your search
@@ -17,4 +17,5 @@ class Settings(BaseSettings):
|
||||
library_host_root: str = "/library-host"
|
||||
ffmpeg_path: str = "ffmpeg"
|
||||
contexts_path: str = Field(default="", description="contexts.yaml; пусто — встроенный")
|
||||
train_hour: int = Field(default=3, ge=-1, le=23, description="час ночного обучения; -1 — выключено")
|
||||
version: str = Field(default="0.0.0-dev", alias="PIPU_VERSION")
|
||||
Reference in new issue
Block a user