Last active
January 25, 2021 19:52
-
-
Save accraze/72e41bc2d2e11f3b03c8f795bf3f657e to your computer and use it in GitHub Desktop.
Using revscoring editquality enwiki damaging model as custom KFServing model.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import kfserving | |
from revscoring import Model | |
import mwapi | |
from revscoring.extractors import api | |
from typing import List, Dict | |
class EnWikiDamagingModel(kfserving.KFModel): | |
def __init__(self, name: str): | |
super().__init__(name) | |
self.name = name | |
self.ready = False | |
def load(self): | |
self.model = Model.load( | |
open("../models/enwiki.damaging.gradient_boosting.model"), env_check=False) | |
self.extractor = api.Extractor(mwapi.Session( | |
"https://en.wikipedia.org", user_agent="Score edit demo in editquality")) | |
self.ready = True | |
def predict(self, request: Dict) -> Dict: | |
inputs = request["rev_id"] | |
feature_values = list( | |
self.extractor.extract(rev_to_score, sm.features)) | |
results = sm.score(feature_values) | |
return {"predictions": results} | |
if __name__ == "__main__": | |
model = KFServingSampleModel("enwiki-damaging-model") | |
model.load() | |
kfserving.KFServer(workers=1).start([model]) |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment