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