I am basically a data scientist but not good at developing APIs, Webapps . I would like to develop an interface that accepts text which I want to convert into a Dataiku dataset to feed to a ML model for scoring. I would then like to display the prediction on the same interface. How do I get started with this ? Thanks !
Hey @PK thank you for your question! We all start somewhere so no worries. In terms of learning how to use DSS I recommend watching and going through our tutorials. I hope this helps and please feel free to reply with any additional questions.
Conceptually, you have 2 ways of going about this type of task - essentially real-time scoring of user input.
1) "Lightweight" scoring
You can train a model using the DSS visual modeling features. Once your model is trained, you will need to develop a webapp (in python for instance) that creates a field for user input and then uses the DSS REST API to interact with your saved model, retrieve the predictor and score the user input.
2) Production-level scoring
Within the scope of the DSS platform, we provide Entreprise-grade model deployment features, including deploying and managing API endpoints for real-time scoring. In this case, your webapp will not use the internal REST API to call your model endpoint but will send a http request with the user input to the API endpoint, score the payload with the model and retrieve the score. This is the more scalable, governed and secure way of making model predictions available to users, but requires and Entreprise licence.
> tutorial on deploying ML models on API endpoints
Hope this helps
I went for the light version to try it out first. I was able to create an API with endpoint at the model and also used test queries to check the prediction. I was also able to create a webapp using python/bokeh with a textInput. My only problem is how do I connect the text box to this API now ?
I figured it out with some help. I am using a trial version so the API architecture was not available. I then wrote python code which took the input in a TextInput widget box in my Bokeh app code and then passed it to a function in the same code where it interacted with the model I had developed to produce the result which can then be showcased in another widgetbox on the same webapp.