Machine Learning Mastery→ original

Transformers.js et embeddings : une recherche sémantique sans infrastructure serveur

Le problème classique du développeur : l'utilisateur tape « ordinateur portable pas cher », et le moteur ne renvoie rien, car la base indique « laptop économique ». La recherche sémantique résout ce cas grâce aux embeddings. Machine Learning Mastery montre comment la construire avec Transformers.js, une bibliothèque qui exécute des modèles de langage directement dans le navigateur, sans backend serveur ni infrastructure supplémentaire.

Traité par IA depuis Machine Learning Mastery ; édité par Hamidun News
Transformers.js et embeddings : une recherche sémantique sans infrastructure serveur
Source : Machine Learning Mastery. Collage: Hamidun News.
◐ Écouter l'article

Une erreur classique en matière de recherche : l'utilisateur tape « ordinateur portable pas cher » et obtient une page de résultats vide, parce que, dans la base, le produit s'appelle « laptop économique ». Machine Learning Mastery publie une analyse détaillée de la manière de remplacer la recherche par mots-clés par une recherche sémantique, en s'appuyant sur Transformers.js et des sentence embeddings directement dans le navigateur, sans backend serveur.

Quel est le problème de la recherche classique ?

La recherche par mots-clés standard compare des caractères, pas du sens. Si la requête et le document ne coïncident pas littéralement, aucun résultat ne remonte, même lorsque les mots sont synonymes. C'est un défaut que les équipes reproduisent encore et encore : elles ajoutent des synonymes à la main, retouchent les stop words, branchent ElasticSearch, et passent quand même à côté des formulations atypiques.

Le problème est systémique. Les utilisateurs ne réfléchissent pas au nom que porte le produit dans la base : ils décrivent ce dont ils ont besoin. « Ventirad silencieux », « portable pour les études », « téléphone avec un bon appareil photo » : un moteur à mots-clés soit ne comprendra pas ces requêtes, soit renverra un résultat non pertinent.

La recherche sémantique aborde la tâche autrement : elle convertit le texte en un vecteur numérique (embedding) qui reflète le sens. « Ordinateur portable pas cher » et « laptop économique » se retrouvent côte à côte dans l'espace vectoriel, car ils sont sémantiquement proches. Au lieu de comparer des chaînes de caractères, le moteur calcule la similarité cosinus entre les vecteurs de la requête et ceux des documents.

Comment fonctionne Transformers.js

Transformers.js est le portage JavaScript de la bibliothèque Transformers de Hugging Face. Elle exécute des modèles de langage directement dans le navigateur ou sous Node.js, sans API serveur. Les modèles sont chargés sous forme de poids ONNX et s'exécutent via WebAssembly ou WebGPU.

Pour la recherche sémantique, il faut des modèles de sentence embedding, entraînés à transformer des phrases en vecteurs denses de dimension fixe. Un choix courant pour démarrer est `all-MiniLM-L6-v2` de Sentence-Transformers : il pèse environ 25 Mo, ne nécessite pas de GPU et tourne assez vite pour du code côté client.

L'architecture de base de la recherche :

  • On initialise le pipeline : `pipeline('feature-extraction', 'Xenova/all-MiniLM-L6-v2')`
  • On indexe la base : on passe chaque document dans le modèle et on stocke les vecteurs
  • À la requête : on vectorise le texte de l'utilisateur de la même manière
  • On calcule la similarité cosinus entre le vecteur de la requête et tous les vecteurs de l'index
  • On renvoie les N documents ayant le score de proximité le plus élevé

Pour les petites bases (jusqu'à quelques milliers d'entrées), l'index est stocké directement en mémoire ou dans `localStorage` : aucune infrastructure serveur n'est nécessaire.

Avantages et limites réelles

Le principal atout est l'absence totale de backend. Tout fonctionne côté client : le modèle est téléchargé une seule fois, les embeddings sont calculés en local. Cette approche convient aux portails de documentation, aux blogs statiques, aux tableaux de bord internes et à tout ce qui vit sans serveur permanent.

Les limites sont tout aussi substantielles. Le parcours linéaire en O(n) commence à ralentir à partir de dizaines de milliers de documents : il faut alors une indexation HNSW via des bibliothèques comme `hnswlib-node`. Les modèles d'embedding généralistes peuvent se tromper sur un vocabulaire très spécialisé : dans ce cas, un mode hybride donne de meilleurs résultats, avec BM25 pour la correspondance exacte et les embeddings pour la correspondance sémantique.

Ce que cela change

La barrière à l'adoption d'une recherche intelligente a nettement baissé. Auparavant, il fallait une pile Python côté serveur, une base de données vectorielle et une API dédiée. Désormais, un développeur front-end peut ajouter la recherche sémantique à un site statique en quelques lignes de JavaScript, et elle fonctionnera même hors ligne.

ZK
Hamidun News
Actualités IA sans bruit. Sélection éditoriale quotidienne de plus de 50 sources. Produit de Zhemal Khamidun, Head of AI chez Alpina Digital.
✦ Unified AI Workspace

Access Frontier LLMs & Multimodal AI in One Workspace

Discover NomadNet AI (nomadnet.ai) — unified access to frontier language models, research synthesis, and multimodal workflows.

Try NomadNet AI →Launch NomadNet Agent
Qu'en pensez-vous ?
Chargement des commentaires…