I had a really nice chat with @Theofpa and among the topics discussed, it came up that our way to fetch features inside the predictor could be factored out to a transformer container.
For example, in our predictors, we do:
- get the article/change to score via input feature
- fetch its content from the mediawiki api
- get the score from the model
- return the http response
Another approach could be:
- the client contacts the transformer first (that is part of the same pod as the predictor, but running in a different container)
- the transformer fetches from the mediawiki api
- the tranformer sends the input feature plus the extra data from the mw api to the predictor
- the score is generated and returned to the client
The transformer in this case is very simple, but it can potentially run anything, for example fetching from the online feature store (using Feast's python client etc..).
Let's try to investigate if this is feasible for us, and what it needs to be done in case to implement it.