Question about Model Serving in Azure Databricks - API for metadata about the model endpoint?

MK RP 81 Reputation points
2022-04-19T21:29:45.567+00:00

I'm currently doing some Rnd around integrating our application with realtime Azure databricks models being served using MLFlow model serving as described here:
https://learn.microsoft.com/en-us/azure/databricks/applications/mlflow/model-serving

My questions are around if there is any way to programatically obtain metadata about the published models.
Here are the types of information we would like to be able to query about a published model:

  • What models are available for serving
  • What is the model prediction endpoint
  • What are the required inputs and their data types
  • What are the model outputs and data types

Is there any REST api for getting to this information? Or a swagger endpoint, like the one that Azure ML models published as web services provides: https://learn.microsoft.com/en-us/azure/machine-learning/how-to-consume-web-service?tabs=azure-portal#web-service-schema-openapi-specification

Appreciate any information anyone can provide on this subject.

Thanks

Azure Databricks
Azure Databricks
An Apache Spark-based analytics platform optimized for Azure.
1,943 questions
{count} votes

Accepted answer
  1. PRADEEPCHEEKATLA-MSFT 77,901 Reputation points Microsoft Employee
    2022-04-27T09:23:26.343+00:00

    Hello @MK RP ,

    What models are available for serving

    MLflow Model Serving is available for Python MLflow models. You must declare all model dependencies in the conda environment.

    What is the model prediction endpoint

    MLflow Model Serving allows you to host machine learning models from Model Registry as REST endpoints that are updated automatically based on the availability of model versions and their stages.

    Each deployed model version is assigned one or several unique URIs. At minimum, each model version is assigned a URI constructed as follows:<databricks-instance>/model/<registered-model-name>/<model-version>/invocations

    For example, to call version 1 of a model registered as iris-classifier, use this URI:https://<databricks-instance>/model/iris-classifier/1/invocations

    You can also call a model version by its stage. For example, if version 1 is in the Production stage, it can also be scored using this URI:https://<databricks-instance>/model/iris-classifier/Production/invocations

    What are the required inputs and their data types & What are the model outputs and data type

    Regarding the input and output depends on the model which you are using. And most data can be categorized into 4 basic types from a Machine Learning perspective: numerical data, categorical data, time-series data, and text.

    Is there any REST api for getting to this information?

    Unfortunately, there's not an API for this today, our product team is working on this, and I will update this thread once it’s available.

    Hope this will help. Please let us know if any further queries.

    ------------------------------

    • Please don't forget to click on 130616-image.png or upvote 130671-image.png button whenever the information provided helps you. Original posters help the community find answers faster by identifying the correct answer. Here is how
    • Want a reminder to come back and check responses? Here is how to subscribe to a notification
    • If you are interested in joining the VM program and help shape the future of Q&A: Here is how you can be part of Q&A Volunteer Moderators

0 additional answers

Sort by: Most helpful