Related Objects
Event Timeline
In T338805, we containerized the Flask web application that runs the Content Translation Recommendation API. Here is a summary of the steps that were taken:
- created a docker image after wrangling dependencies and configurations that were set in 2016
- fetched the embedding from figshare and hosted it locally in the container
- tested the backend and were able to hit the recommendation-api endpoint
- set up the frontend and were able to interact with GapFinder
In T339890, we are working on hosting the recommendation-api container on LiftWing. Tasks completed so far are:
- stored the embedding on swift
- added a swift client to the recommendation-api
- created CI jobs named recommendation-api-ng
- published the rec-api image to the Wikimedia docker registry
We are working on making adjustments to the rec-api deployment settings until we get to a state that can run on LiftWing.
Below are the settings configured so far:
- added wmf-certificates to the production image
- python-webapp helm chart was created
- rec-api-ng's namespace config for ml-serve was added to admin_ng
- added helmfile.d deployment settings for the recommendation-api-ng
The current adjustment requires optimizing memory usage. We run memory usage tests in T339890#9155985, T339890#9156601, and T339890#9159257. The 2nd test where float was downcasted to np.float32 resulted in a x0.5 drop in memory usage. This was the best result of the 3 tests performed.
We finally got rec-api deployment settings that could run on LiftWing:
- a 4th test was run and this dropped the memory usage by 5x
- we disabled the related_articles service (as advised by the research team), the rec-api ended up running without the embedding.
- deployed the rec-api on staging and then finally in production