Et si vous pouviez intégrer des modèles de classement machine learning complexes directement dans votre moteur de recherche, en contournant complètement les services d’inférence externes et leur latence réseau associée ? C’est exactement ce que les développeurs chez Swiggy ont réalisé pour leurs suggestions d’autocomplétion, allant au-delà des règles statiques pour fournir des résultats significativement plus pertinents à des vitesses inférieures à la milliseconde. Il ne s’agit pas simplement de générer du code AI ; il s’agit de repenser fondamentalement la manière dont les outils AI peuvent être intégrés dans les expériences produit principales, les rendant plus rapides et plus intelligents.
Pendant longtemps, la construction d’un système d’autocomplétion véritablement intelligent semblait être un compromis pour les développeurs de logiciels. Vous pouviez obtenir des réponses ultra-rapides en vous appuyant sur une correspondance lexicale de base et un ensemble de règles statiques méticuleusement réglées manuellement. Ou bien, vous pouviez viser une pertinence sophistiquée en utilisant le machine learning, mais cela impliquait généralement l’introduction de services supplémentaires, de sauts réseau, et la latence inévitable qui accompagne un moteur d’inférence externe. Cette latence est particulièrement pénible pour l’autocomplétion, où chaque frappe au clavier exige une suggestion instantanée et pertinente.
Cette approche traditionnelle obligeait souvent les développeurs à faire des compromis. L’équipe d’ingénierie pouvait passer des semaines, voire des mois, à affiner des règles heuristiques, à ajuster des poids et à maintenir une logique complexe pour gérer les cas limites—un processus fragile et chronophage. Lorsqu’un modèle ML était introduit, il résidait généralement en dehors du moteur de recherche principal, nécessitant son propre pipeline de déploiement, des considérations de mise à l’échelle et un point d’API. Cela ajoutait une complexité architecturale significative, transformant souvent ce qui devrait être une simple requête de recherche en un défi d’orchestration multi-services.
L’impact sur le travail quotidien d’un développeur de logiciels était clair : plus d’infrastructure à gérer, plus de points de défaillance potentiels, et moins de temps passé à se concentrer sur le problème principal de la pertinence.
La percée de Swiggy contourne entièrement ce dilemme. En intégrant un modèle de classement appris directement à l’intérieur d’OpenSearch, ils ont réduit le processus traditionnel en deux étapes « récupérer puis classer » en une opération hautement optimisée, intégrée au moteur. Cela signifie que les mêmes modèles puissants utilisés pour le classement avancé peuvent maintenant s’exécuter aux côtés de la génération initiale de candidats au sein d’OpenSearch lui-même.
Pour le développeur de logiciels, cela se traduit par une architecture simplifiée, une latence considérablement réduite, et la possibilité d’itérer et de déployer des modèles machine learning avec la même agilité qu’ils pourraient appliquer aux configurations d’index de recherche. Cela leur permet de construire des expériences de recherche véritablement adaptatives et intelligentes sans le fardeau architectural typique.
Considérez le flux de travail typique d’un développeur de logiciels chargé d’améliorer la pertinence de l’autocomplétion :
Avant d’intégrer le ML directement dans OpenSearch : Un développeur configurait OpenSearch pour la récupération lexicale initiale, assurant une génération rapide des candidats. S’il souhaitait appliquer le machine learning, il construisait alors un service séparé, peut-être une application Python hébergeant un modèle XGBoost. Ce service recevait les candidats initiaux, interrogeait un magasin de fonctionnalités pour des signaux en temps réel, appliquait le modèle ML et reclassait les résultats avant de les renvoyer. Cet aller-retour, incluant la latence réseau et le temps d’inférence, pouvait facilement ajouter 20 à 50 millisecondes par frappe—suffisamment pour paraître lent à un utilisateur. Le temps passé serait consacré à la gestion de deux systèmes distincts et au contrat réseau entre eux.
Après avoir intégré le ML directement dans OpenSearch avec LTR : Le développeur co
Le briefing IA hebdo pour votre métier
Un e-mail par semaine : les changements IA qui touchent vraiment votre métier — outils, offres, et quoi en faire.
