From https://github.com/SWViewer/swviewer-service/issues/1
Repro:
curl https://api.wikimedia.org/service/lw/inference/v1/models/revertrisk-multilingual:predict -X POST -d '{"lang": "en", "rev_id": 1162517490}'
On the Kserve side:
Traceback (most recent call last): File "/opt/lib/python/site-packages/uvicorn/protocols/http/h11_impl.py", line 373, in run_asgi result = await app(self.scope, self.receive, self.send) File "/opt/lib/python/site-packages/uvicorn/middleware/proxy_headers.py", line 75, in __call__ return await self.app(scope, receive, send) File "/opt/lib/python/site-packages/fastapi/applications.py", line 270, in __call__ await super().__call__(scope, receive, send) File "/opt/lib/python/site-packages/starlette/applications.py", line 124, in __call__ await self.middleware_stack(scope, receive, send) File "/opt/lib/python/site-packages/starlette/middleware/errors.py", line 184, in __call__ raise exc File "/opt/lib/python/site-packages/starlette/middleware/errors.py", line 162, in __call__ await self.app(scope, receive, _send) File "/opt/lib/python/site-packages/timing_asgi/middleware.py", line 68, in __call__ await self.app(scope, receive, send_wrapper) File "/opt/lib/python/site-packages/starlette/middleware/exceptions.py", line 79, in __call__ raise exc File "/opt/lib/python/site-packages/starlette/middleware/exceptions.py", line 68, in __call__ await self.app(scope, receive, sender) File "/opt/lib/python/site-packages/fastapi/middleware/asyncexitstack.py", line 21, in __call__ raise e File "/opt/lib/python/site-packages/fastapi/middleware/asyncexitstack.py", line 18, in __call__ await self.app(scope, receive, send) File "/opt/lib/python/site-packages/starlette/routing.py", line 706, in __call__ await route.handle(scope, receive, send) File "/opt/lib/python/site-packages/starlette/routing.py", line 276, in handle await self.app(scope, receive, send) File "/opt/lib/python/site-packages/starlette/routing.py", line 66, in app response = await func(request) File "/opt/lib/python/site-packages/fastapi/routing.py", line 235, in app raw_response = await run_endpoint_function( File "/opt/lib/python/site-packages/fastapi/routing.py", line 161, in run_endpoint_function return await dependant.call(**values) File "/opt/lib/python/site-packages/kserve/protocol/rest/v1_endpoints.py", line 69, in predict response, response_headers = await self.dataplane.infer(model_name=model_name, body=body, headers=headers) File "/opt/lib/python/site-packages/kserve/protocol/dataplane.py", line 276, in infer response = await model(body, headers=headers) File "/opt/lib/python/site-packages/kserve/model.py", line 117, in __call__ else self.predict(payload, headers) File "/srv/revert-risk-model/model-server/model.py", line 102, in predict result = KI_module.classify(self.model, request["revision"]) File "/opt/lib/python/site-packages/knowledge_integrity/models/revertrisk_multilingual/model.py", line 407, in classify intermediate_features = extract_features(revision, CLASSIFIER_INTERMEDIATE_FEATURES) File "/opt/lib/python/site-packages/knowledge_integrity/models/revertrisk_multilingual/model.py", line 381, in extract_features return get_features(feature_sources, features, _transformed_revertrisk_features) File "/opt/lib/python/site-packages/knowledge_integrity/featureset.py", line 320, in get_features all_features.update(transformer(all_features)) File "/opt/lib/python/site-packages/knowledge_integrity/models/revertrisk_multilingual/model.py", line 343, in _transformed_revertrisk_features edit_info = get_edit_info( File "/opt/lib/python/site-packages/knowledge_integrity/models/revertrisk_multilingual/model.py", line 297, in get_edit_info actions = et.get_diff() File "/opt/lib/python/site-packages/mwedittypes/mwedittypes.py", line 18, in get_diff self.tree_diff = get_diff(self.prev_wikitext, self.curr_wikitext, lang=self.lang, File "/opt/lib/python/site-packages/mwedittypes/tree_differ.py", line 19, in get_diff result = diff.post_process(prev_tree.secname_to_text, curr_tree.secname_to_text, lang=lang) File "/opt/lib/python/site-packages/mwedittypes/tree_differ.py", line 525, in post_process self._section_mapping(sections_prev, sections_curr) File "/opt/lib/python/site-packages/mwedittypes/tree_differ.py", line 608, in _section_mapping p_to_c[prev[i]] = curr[i] IndexError: list index out of range