[08:31:05] o/ [08:34:16] (03CR) 10Elukey: [C: 03+2] editquality: set Content-type when sending events to EventGate [machinelearning/liftwing/inference-services] - 10https://gerrit.wikimedia.org/r/814098 (https://phabricator.wikimedia.org/T301878) (owner: 10Elukey) [08:42:21] (03CR) 10Elukey: [C: 03+2] editquality: set Content-type when sending events to EventGate (031 comment) [machinelearning/liftwing/inference-services] - 10https://gerrit.wikimedia.org/r/814098 (https://phabricator.wikimedia.org/T301878) (owner: 10Elukey) [09:05:41] The code to send events from Lift Wing to Eventgate works! \o/ [09:05:46] just tested it [09:05:49] super happy [09:07:45] to summarize, we now send an event to the mediawiki.revision-score-test stream each time that an event-create event is passed as input [09:08:20] the event that we generate has the same schema as ores, mediawiki.revision-score, but it only shows/lists scores for the editquality model [09:08:27] the same idea would be applicable to all others [09:10:37] --- [09:11:14] another thought that I had last week - we have been saying that we don't want people to use Kserve on say VPS instances because it is overkill, but in theory it can run easily via Docker [09:11:36] the overkill part is knative and istio, but they are only required when deploying on k8s [09:12:22] if we have good documentation about kserve maybe people could test everything in cloud or locally very easily, and come to us to onboard on Lift Wing [09:16:34] Yeah, having a simple/low-overhead "test fixture" to put models in would be nice to lower the barrier of entry in that regard [09:17:18] As for the eventgate bit: well done. One thing that I wondered about on Friday is if we ever had a definitive agreement on splitting events into topics (and what split it would) [09:17:22] +bw [09:17:24] be* [09:17:28] Must be Monday. [09:18:45] so for the momente the idea is to use mediawiki.revision-score-test for all events, even cross-models etc.. Once we get an agreement with DE/Research about the final streams and schemas (they may change in the near future) we should be able to change all in few lines of code [09:18:50] but at least we can test something now [09:19:10] Ack. [09:19:24] Again, very nice work. [09:19:29] <3 [09:19:31] Would have taken me weeks probably :) [09:19:45] It took me weeks, and I don't think so :) [09:20:35] I am now wondering if we should invest some time in having a "base"/"common" module in inference services [09:20:45] rather than code duplicated in all models.py [09:21:06] it is a bit tricky with out setup (various requirements.txt, etc..) [09:21:27] but in the case of the revision score code, atm I'd need to copy/paste it in all models.py [09:21:53] Could dis done via mix-ins maybe? [09:22:33] what do you mean via mix-ins? (never heard) [09:24:20] It's a bit like normal Python class inheritance, but the relationship is not "class A is a subclass of B" [09:24:47] Basically, the mixin just bundles a bunch of extra methods/functionality that you apply to your own class(es) [09:25:38] Mostly mixins are useful when they provide somewhat generic functionality to a lot of different classes [09:26:08] The other approach is when you have a base class and a lot of optional things that users of said class may or may not want to have. [09:26:53] If you're familiar with Werkzeug (the Python library), its request/response system uses mixins a lot [09:27:12] https://stackoverflow.com/a/547714 has an example for that [09:27:57] Still, it would have the same constraints from a setup/import/requirements.txt POV as just a plain ol' library [09:28:29] ah interesting! I thought about a base class indeed [09:34:46] In Python, the difference between actual inheritance and mixins is a soft/fuzzy one, it's more about intent/use that anything enforced by the language or interpreter [09:44:39] yep yep makes sense [10:39:30] * elukey lunch! [10:41:22] 10Lift-Wing, 10Epic, 10Machine-Learning-Team (Active Tasks), 10Patch-For-Review: Send score to eventgate when requested - https://phabricator.wikimedia.org/T301878 (10elukey) I was able to generate a revision-score-test event from the enwiki editquality goodfaith model in ml-staging (verified that the even... [11:26:46] <- Lunch [13:32:22] Morning all! [13:32:25] o/ [13:37:00] \o [14:44:23] Emmmmaaaiiilll [14:51:50] I have a writing deadline for next week for a bunch of lift wing content (not technically docs, mostly descriptive, so I’ll be heads down most of this week) or ttajh will kill me [14:52:14] tltaylor in irc apparently [15:00:21] plz2be not killed, we need you! [15:14:08] 10Lift-Wing, 10Machine-Learning-Team (Active Tasks), 10Patch-For-Review: Test async preprocess on kserve - https://phabricator.wikimedia.org/T309623 (10elukey) New version (still missing tests, will add them tomorrow): https://github.com/elukey/revscoring/commit/962d336a5b2b84d7c60a639c3a1e6fd4b38b266c ` fr... [15:14:25] added a better version of the http cache (at least, in my opinion) --^ [15:14:49] I'll have a look in a few mins [15:15:09] still missing tests for the new class, will add them tomorrow :) [15:15:40] going afk for today folks, talk with you tomorrow! [15:15:43] have a nice rest of the day [15:21:06] \o take it easy. This weather is no joking matter