Le moteur PAI-Rec est un framework Go conçu pour créer des services de recommandation en ligne. Il propose un pipeline complet et configurable, de la récupération au filtrage et au tri, vous permettant de déployer un service de recommandation prêt pour la production sans construire l'infrastructure depuis zéro. Vous pouvez également l'étendre avec une logique personnalisée si votre cas d'utilisation l'exige.
Architecture globale

Architecture système et déploiement

Fonctionnement
Le moteur PAI-Rec traite chaque demande de recommandation via un pipeline séquentiel :
Réception de la demande — Le serveur HTTP Go intégré accepte les demandes entrantes sur les routes enregistrées, ce qui élimine le besoin de configurer un serveur REST distinct.
Chargement des features — Le moteur récupère les features utilisateur et élément à partir d'une ou plusieurs sources de données configurées : FeatureDB, Hologres, Redis, Tablestore ou DataHub/Kafka. FeatureStore coordonne la gestion des features et garantit la cohérence des données entre les sources.
Récupération des candidats — Des politiques de récupération prédéfinies extraient un ensemble d'éléments candidats correspondant au contexte de la demande.
Filtrage des candidats — Les politiques de filtrage suppriment les éléments non éligibles de l'ensemble des candidats.
Tri des candidats — Les politiques de tri classent les candidats filtrés. Pour le classement basé sur des modèles, le moteur appelle EAS afin d'exécuter l'inférence en ligne.
Retour des résultats — La liste classée est renvoyée via la réponse de l'API RESTful.
La configuration décrit intégralement le flux de recommandation. Ajustez les sources de récupération, les règles de filtrage et les stratégies de tri sans modifier le code. Pour la logique extérieure aux politiques intégrées, utilisez les points d'extension pour injecter des opérations personnalisées à n'importe quelle étape.
Flux global du service de recommandation

Fonctionnalités intégrées

Le moteur PAI-Rec inclut les fonctionnalités suivantes :
| Fonctionnalité | Description |
|---|---|
| Serveur HTTP Go | Gère les demandes entrantes grâce à l'enregistrement intégré des routes. Aucun framework web supplémentaire n'est nécessaire. |
| Pipeline de recommandation | Pipeline de bout en bout avec des politiques prédéfinies de récupération, de filtrage et de tri. |
| Intégration EAS | Accès natif à EAS pour l'inférence de modèle en ligne lors de l'étape de tri. |
| Chargement de données multi-sources | Charge les features depuis FeatureDB, Hologres, Redis, Tablestore et DataHub/Kafka en une seule exécution du pipeline. |
| Prise en charge de FeatureStore | Améliore la gestion des features et assure la cohérence des données entre les sources. |
| Flux piloté par la configuration | Définit l'intégralité du flux de recommandation dans des fichiers de configuration ; aucun changement de code n'est requis pour ajuster le pipeline. |
| Tests A/B légers | Plateforme intégrée pour le partage du trafic et la gestion des expériences. |
| Points d'extension | Crochets à chaque étape du pipeline permettant d'ajouter une logique personnalisée de récupération, de filtrage ou de tri. |
Concepts clés
| Terme | Description |
|---|---|
| Pipeline | Séquence ordonnée d'étapes (récupération → filtrage → tri) qui transforme une demande en une liste de résultats classés. |
| Récupération | Étape qui extrait un ensemble d'éléments candidats à partir des sources de données configurées, en fonction du contexte de la demande. |
| Filtrage | Étape qui supprime les candidats non éligibles avant le scoring. |
| Tri | Étape qui classe les candidats filtrés, en utilisant éventuellement EAS pour le scoring basé sur des modèles. |
| EAS (Elastic Algorithm Service) | Service Alibaba Cloud qui héberge et sert des modèles de ML en ligne. PAI-Rec appelle EAS lors de l'étape de tri pour l'inférence en temps réel. |
| FeatureStore | Couche de gestion des features qui coordonne la lecture des features sur plusieurs sources de données et applique la cohérence des données. |
| Points d'extension | Crochets nommés dans le pipeline où vous pouvez enregistrer une logique personnalisée sans modifier le framework principal. |
| Plateforme de tests A/B | Couche d'expérimentation intégrée qui répartit le trafic entre les configurations de pipeline et mesure l'impact par variante. |