Personnalisation & Recommandation
Reco produits/contenus; batch + temps réel; AB-tests.
DRF · Postgres · job batch · embeddings ROI: élevé Effort: moyen+ Complexité: moyenne
Architecture de référence
Events (views, clicks, buy) → Feature store → Modèle (ALS/embeddings) → API /recommend → UI.
Quick Wins
models.py — Event python
class Event(models.Model):
user_id = models.CharField(max_length=64)
item_id = models.CharField(max_length=64)
etype = models.CharField(max_length=16, choices=[('view','view'),('click','click'),('buy','buy')])
ts = models.DateTimeField(auto_now_add=True)management command — build_reco python
# calcule similarité item-item puis sauvegarde topN par item
views.py — /api/recommend python
from rest_framework.decorators import api_view
from rest_framework.response import Response
@api_view(['GET'])
def recommend(request):
uid = request.GET.get('user')
# merge règles + modèle + diversité
return Response({'items': ['A','B','C']})