Skip to content

Instantly share code, notes, and snippets.

@accraze
Last active January 25, 2021 19:52
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save accraze/72e41bc2d2e11f3b03c8f795bf3f657e to your computer and use it in GitHub Desktop.
Save accraze/72e41bc2d2e11f3b03c8f795bf3f657e to your computer and use it in GitHub Desktop.
Using revscoring editquality enwiki damaging model as custom KFServing model.
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