[09:45:40] (03CR) 10Elukey: "Really great work, I left some comments just to understand the code in a better way!" [machinelearning/liftwing/inference-services] - 10https://gerrit.wikimedia.org/r/807135 (https://phabricator.wikimedia.org/T311043) (owner: 10AikoChou) [09:49:04] 10Lift-Wing, 10Machine-Learning-Team (Active Tasks), 10Patch-For-Review: Test async preprocess on kserve - https://phabricator.wikimedia.org/T309623 (10elukey) https://www.mediawiki.org/wiki/ORES/Feature_injection#Feature_injection:_playing_with_what_ORES_sees is really interesting, we could try to figure ou... [09:50:04] https://www.mediawiki.org/wiki/ORES/Feature_injection#Feature_injection:_playing_with_what_ORES_sees is really interesting [09:50:47] for two reasons [09:51:02] 1) We don't support it afaics in our models (do people use it? Maybe :) [09:51:35] 2) We could try to see how it is done in the ORES code, and use it for preprocess in theory (fetch the content via async http calls, and pass it to revscoring) [11:44:20] Thanks Luca, the feature injection looks interesting. I'm curious how it is implemented [13:27:35] aiko: np! I think that it is just a matter of figuring out how the cache is represented in ORES [13:27:40] then we will be able to create one [13:46:14] aiko: I am very new to asyncio in Python, but now I am wondering if we could simply change the mwapi package to support async [13:46:22] more specifically, https://github.com/mediawiki-utilities/python-mwapi/blob/master/mwapi/session.py [13:46:35] so revscoring would use the same interface, no changes [13:46:47] but we'd use async/await in mwapi [13:48:07] we could create a new version of the lib, like 0.6.x, changing it to support async [13:48:16] that should be straightforward [13:48:35] I doubt that a lot of people use it [13:48:52] but in case, the new version will require to use asyncio.run() or and eventloop like tornado [13:53:23] mmm not super straightforward with `requests` [13:53:41] but mwapi could use https://docs.aiohttp.org/en/stable/http_request_lifecycle.html#aiohttp-request-lifecycle [13:54:25] but our usages of passing a requests session via revscoring would not work anymore [14:14:16] (03PS1) 10Elukey: WIP - add support for revision-score events [machinelearning/liftwing/inference-services] - 10https://gerrit.wikimedia.org/r/808247 (https://phabricator.wikimedia.org/T301878) [14:15:41] will look into it on Monday :) [14:15:44] have a nice weekend folks! [14:15:50] \o [14:16:40] (03CR) 10CI reject: [V: 04-1] WIP - add support for revision-score events [machinelearning/liftwing/inference-services] - 10https://gerrit.wikimedia.org/r/808247 (https://phabricator.wikimedia.org/T301878) (owner: 10Elukey) [14:18:35] elukey: o/ I was thinking in that direction before. (I am new to asyncio too :) [14:19:02] then I saw mwapi use `requests` to create a session, so we have to replace it [14:19:31] not sure how to do it with aiohttp (<- Is it like another tornado async http client? [14:20:32] but I know we already have aiohttp 3.8.1 in the requirements.txt [14:21:17] we can discuss it more on Monday :)