¿Y si pudiera integrar modelos de clasificación de machine learning complejos directamente en su motor de búsqueda, evitando por completo los servicios de inferencia externos y su latencia de red asociada? Eso es exactamente lo que los desarrolladores de Swiggy lograron para sus sugerencias de autocompletado, yendo más allá de las reglas estáticas para ofrecer resultados significativamente más relevantes a velocidades inferiores a un milisegundo. No se trata simplemente de generar código de AI; se trata de repensar fundamentalmente cómo se pueden integrar las herramientas de AI en las experiencias de producto principales, haciéndolas más rápidas e inteligentes.
Durante mucho tiempo, la construcción de un sistema de autocompletado verdaderamente inteligente pareció ser una compensación para los desarrolladores de software. Podía obtener respuestas ultrarrápidas basándose en la coincidencia léxica básica y un conjunto de reglas estáticas cuidadosamente ajustadas manualmente. O podía aspirar a una relevancia sofisticada utilizando machine learning, pero eso generalmente implicaba introducir servicios adicionales, saltos de red y la latencia inevitable que viene con un motor de inferencia externo. Esta latencia es particularmente problemática para el autocompletado, donde cada pulsación de tecla exige una sugerencia instantánea y relevante.
Este enfoque tradicional a menudo obligaba a los desarrolladores a hacer concesiones. El equipo de ingeniería podía pasar semanas, incluso meses, refinando reglas heurísticas, ajustando ponderaciones y manteniendo una lógica compleja para manejar casos extremos, un proceso frágil y que consumía mucho tiempo. Cuando se introducía un modelo de ML, normalmente residía fuera del motor de búsqueda principal, lo que requería su propio pipeline de implementación, consideraciones de escalabilidad y un endpoint de API. Esto añadía una complejidad arquitectónica significativa, a menudo convirtiendo lo que debería ser una simple consulta de búsqueda en un desafío de orquestación de múltiples servicios.
El impacto en el trabajo diario de un desarrollador de software era claro: más infraestructura que gestionar, más puntos potenciales de fallo y menos tiempo para centrarse en el problema principal de la relevancia.
El avance de Swiggy evita este dilema por completo. Al integrar un modelo de clasificación aprendido directamente dentro de OpenSearch, han colapsado el proceso tradicional de dos etapas de ‘recuperar y luego clasificar’ en una operación altamente optimizada dentro del motor. Esto significa que los mismos modelos potentes utilizados para la clasificación avanzada ahora pueden ejecutarse junto con la generación inicial de candidatos dentro del propio OpenSearch.
Para el desarrollador de software, esto se traduce en una arquitectura simplificada, una latencia drásticamente reducida y la capacidad de iterar y desplegar modelos de machine learning con la misma agilidad que podrían aplicar a las configuraciones de índices de búsqueda. Les permite construir experiencias de búsqueda verdaderamente adaptativas e inteligentes sin el equipaje arquitectónico típico.
Considere el flujo de trabajo típico de un desarrollador de software encargado de mejorar la relevancia del autocompletado:
Antes de integrar ML directamente en OpenSearch:
Un desarrollador configuraba OpenSearch para la recuperación léxica inicial, asegurando una generación rápida de candidatos. Si querían aplicar machine learning, entonces construirían un servicio separado, quizás una aplicación de Python que alojara un modelo XGBoost. Este servicio recibiría los candidatos iniciales, consultaría un feature store para señales en tiempo real, aplicaría el modelo de ML y volvería a clasificar los resultados antes de enviarlos de vuelta. Este viaje de ida y vuelta, incluida la latencia de red y el tiempo de inferencia, podría agregar fácilmente entre 20 y 50 milisegundos por pulsación de tecla, lo suficiente como para sentirse lento para un usuario. El tiempo invertido sería en la gestión de dos sistemas distintos y el contrato de red entre ellos.
Después de integrar ML directamente en OpenSearch con LTR:
El desarrollador todavía trabaja en co

