← Retour aux projets

Semantic Music Recommender

Python · FastAPI · Milvus · NLP · Streamlit

Objectif

Moteur de recommandation musical intelligent utilisant l'IA pour comprendre le langage naturel. Le système trouve des albums basés sur leur "vibe" et leur description textuelle, indexant plus de 14 000 albums de la scène underground.

Fonctionnalités principales

  • Recherche sémantique — Requêtes en langage naturel comme "dark ambient industrial with melancholic atmosphere"
  • Carte d'exploration 2D — Visualisation interactive de 14 000 albums projetés en 2D par clusters de styles
  • Filtres avancés — Combinaison de recherche vectorielle avec métadonnées (note, styles, tri)
  • Architecture microservices — API, base vectorielle et interface séparées

Défis & Solutions

  • Visualisation complexe — Représenter 14 000 vecteurs de 384 dimensions en 2D → Solution : Algorithme UMAP pour réduction dimensionnelle tout en conservant la structure locale
  • Performance — Recherche instantanée sur gros volume → Solution : Milvus avec index IVF_FLAT pour recherche <50ms

Évolutions possibles

  • Génération automatique de playlists basées sur un chemin dans le graphe 2D
  • Intégration avec l'API Spotify pour écouter directement les recommandations

Technologies

Python FastAPI Milvus BERT Streamlit Docker UMAP Plotly