Semantic Search Engine
Introduction
Un moteur de recherche sémantique qui comprend le sens des requêtes plutôt que de chercher des correspondances exactes. Développé avec Python, Flask, FAISS et Sentence Transformers, ce projet a servi de projet final pour valider mon cours CS50 de Harvard — ma première plongée dans l'IA et le traitement du langage naturel (NLP).
Date
Septembre 2025
Domaine
Intelligence Artificielle / Backend
Le projet
Contrairement à une recherche classique par mots-clés, ce moteur utilise des embeddings vectoriels pour capturer le sens du texte. Chercher "voiture rapide" trouvera aussi "automobile sportive" ou "véhicule performant". Le cœur du système repose sur les embeddings générés par Sentence Transformers : chaque document est converti en un vecteur de 384 dimensions capturant son sens sémantique. FAISS, la bibliothèque de Facebook AI Research, permet ensuite d'effectuer des recherches de similarité ultra-rapides, avec des temps de réponse de quelques millisecondes. L'application suit une architecture microservices orchestrée par Docker Compose : backend Flask pour l'API REST et l'indexation, frontend Vue.js avec Vite pour l'interface. La communication entre services se fait via un réseau Docker privé avec proxy Vite pour rediriger les appels API.
Ce qu'il m'as apporté
Ce projet m'a ouvert les portes de l'IA appliquée. J'ai compris comment fonctionnent les embeddings, la similarité cosinus, et pourquoi les moteurs de recherche modernes sont si performants. Au-delà de la théorie, j'ai mis les mains dans FAISS, Sentence Transformers et l'architecture d'un système de recherche scalable. Un projet qui prouve que je peux apprendre des concepts complexes en autodidacte et les transformer en application fonctionnelle.



