The overall online engineering framework is developed based on SpringBoot+K8S, and it is also convenient for everyone to deploy to their own servers. We can configure our developing environment according to the installation instructions below. In this demo, our online pipeline consists of several modules such as user modeling, recall, ranking, diversity and summary retrieval, as described in the figure below. When we follow the instructions to finish the last step, an end to end movie recommendation system will be presented completely. If you are Chinese developer, you may like to visit our CN Doc.
You need to maven install online-serving components before launching our online recommend service.
MetaSpore Serving
is used to do model inference.feature-extract
is a maven plugin which generate domains and repositories of MongoDB using its table yaml files. More informationexperiment-pipeline
is an experiment framework which help us do A/B testing more easily. More information.
cd MetaSpore/java/online-serving
mvn clean install
You need to create resources/application-dev.properties from application-template.properties and specify:
MongoDB
related configurations.MetaSpore Serving
related configurations.Milvus
related configurations.- (Just ignore mysql configurations. We don't use it in this demo but we support multi data sources.)
You could modify Consul's Key/Value pair to dynamically change the online A/B testing strategies.
- Install Consul and launch it.
- Visit Consul's portal, and create a new Key/Value pair:
- Key is
config/test/scene-config
- Copy this YAML content as value.
- The config file of Consul of our demo is here.
- Key is
You could run online service entry point (MovielensRecommendApplication.java) and test it now.
For example: curl http://localhost:8080/user/10
to get recommended movies for user whose userId is equal to 10.