-
Notifications
You must be signed in to change notification settings - Fork 23
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add UI/SDK support to pyfunc ensemblers #171
Add UI/SDK support to pyfunc ensemblers #171
Conversation
8487f9b
to
c4f7c9c
Compare
c4f7c9c
to
3634821
Compare
5236ab4
to
de0b0ab
Compare
de0b0ab
to
6ed052a
Compare
6ed052a
to
ff1d3b3
Compare
ui/src/router/components/form/components/pyfunc_config/PyFuncDeploymentPanel.js
Outdated
Show resolved
Hide resolved
ui/src/router/components/form/components/pyfunc_config/PyFuncDeploymentPanel.js
Outdated
Show resolved
Hide resolved
15f3577
to
07b73e9
Compare
]; | ||
|
||
if (!!dockerConfig) { | ||
items.push({ |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This ensures that the router details screen is minimally able to display a Pyfunc ensembler's name and ID (but not the dockerConfig
related stuff) should the image building job fail during router deployment.
d5e455b
to
45d7639
Compare
thanks, lgtm! |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM. Thanks for the comprehensive PR!
ui/src/router/components/form/components/ensembler_config/typeOptions.js
Outdated
Show resolved
Hide resolved
217b39d
to
ec080a3
Compare
Thanks a lot everyone for the detailed comments, gonna merge this! 🚀 |
Context
In PR #164 and PR #165, a real-time ensembler engine was introduced to process live ensembling requests, using an ensembler that is predefined in the
mlflow
pyfunc flavour. In PR #170, a process was introduced in Turing API to automatically orchestrate the image building process of a user specified pyfunc ensembler (identified by its givenproject_id
andensembler_id
). Turing API then runs containers based on that generated image as an ensembler service as part of a Turing Router deployment.This PR introduces user interface changes in order to incorporate the minor tweaks associated with a Turing Router deployment with the inclusion of pyfunc ensemblers.
Minor additions/fixes were also made to Turing SDK to incorporate the
pyfunc_config
object created from PRs #164, #165 and #170.Not to be merged before PR #170.
Features
Creation of a panel in the router creation/editing page to select a pyfunc ensembler to deploy from a list of created ensemblers stored in Turing:
Creation of a panel on the router details page showing details of the pyfunc ensembler deployed, with the Ensembler ID and Ensembler Name shown:
Changing pyfunc ensemblers in an existing Turing Router will be reflected as expected for all Turing Router configuration on the diff page:
Main Modifications
ui/src/components/form/service_account_combo_box/ServiceAccountComboBox.js
- Renaming ofServiceAccoutComboBox.js
to the more correctly spelledServiceAccountComboBox.js
ui/src/router/components/configuration/components/EnsemblerConfigSection.js
- Addition of a panel to display pyfunc ensembler configurationui/src/router/components/configuration/components/pyfunc_config_section/*
- Addition of a panel to display pyfunc ensembler configurationui/src/router/components/form/components/ensembler_config/typeOptions.js
- Addition of pyfunc ensemblers to the list of available ensembler optionsui/src/router/components/form/components/pyfunc_config/*
- Addition of a new form to fill for pyfunc ensemblersui/src/router/components/form/validation/schema.js
- Update to schema validation for pyfunc ensemblersui/src/services/ensembler/PyFuncEnsembler.js
- Addition of new pyfunc ensembler serviceMinor Changes to Turing SDK
sdk/turing/generated/*
- Changes to OpenAPI auto-generated SDK classes after changes to OpenAPI specs in PR Automate ensembler image building with Turing API #170sdk/turing/router/config/router_ensembler_config.py
- Addition of a new SDK class to supportpyfunc_config
sdk/turing/router/router.py
- Minor changes to functions after changes to OpenAPI specs in PR Automate ensembler image building with Turing API #170sdk/turing/session.py
- Minor changes to functions after changes to OpenAPI specs in PR Automate ensembler image building with Turing API #170