Model ML registry and model serving
A system includes an interface, a processor, and a memory. The interface is configured to receive a version of a model from a model registry. The processor is configured to store the version of the model, start a process running the version of the model, and update a proxy with version information associated with the version of the model, wherein the updated proxy indicates to redirect an indication to invoke the version of the model to the process. The memory is coupled to the processor and configured to provide the processor with instructions.
1 . A method comprising:
receiving, by a model server system, an application programming interface (API) request to execute a machine learning model, the API request identifying a first machine learning model to execute the API request, wherein the model server system hosts at least two different machine learning models;
generating an input based on execution data included in the API request;
generating an output by providing the input to the first machine learning model identified by the API request data; and
returning the output in response to the API request.
2 . The method of claim 1 , wherein the API request was initiated by an application executing on a client device that is remote to the model server system.
3 . The method of claim 1 , wherein the application is a chat application.
4 . The method of claim 1 , further comprising:
receiving, by the model server system, a subsequent API request identifying a second machine learning model, the second machine learning model being different than the first machine learning model;
generating a subsequent input based on execution data included in the subsequent API request;
generating a subsequent output by providing the subsequent input to the second machine learning model identified by the subsequent API request data; and
returning the subsequent output in response to the subsequent API request.
5 . The method of claim 1 , further comprising:
querying a proxy server redirect table based on a version indicator included in the API request to determine routing information for the first machine learning model.
6 . The method of claim 5 , wherein providing the input to the first machine learning model comprises routing the input to an endpoint based on the routing information for the first version of the machine learning model.
7 . The method of claim 1 , wherein the API request further includes an authentication token.
8 . The method of claim 7 , further comprising:
authenticating the API request based on the authentication token.
9 . A model server system comprising:
one or more computer processors; and
one or more computer-readable mediums storing instruction that, when executed by the one or more computer processors, cause the model server system to perform operations comprising:
receiving an application programming interface (API) request to execute a machine learning model, the API request identifying a first machine learning model to execute the API request, wherein the model server system hosts at least two different machine learning models;
generating an input based on execution data included in the API request;
generating an output by providing the input to the first machine learning model identified by the API request data; and
returning the output in response to the API request.
10 . The model serving system of claim 9 , wherein the API request was initiated by an application executing on a client device that is remote to the model server system.
11 . The model serving system of claim 9 , wherein the application is a chat application.
12 . The model serving system of claim 9 , the operations further comprising:
receiving a subsequent API request identifying a second machine learning model, the second machine learning model being different than the first machine learning model;
generating a subsequent input based on execution data included in the subsequent API request;
generating a subsequent output by providing the subsequent input to the second machine learning model identified by the subsequent API request data; and
returning the subsequent output in response to the subsequent API request.
13 . The model serving system of claim 9 , the operations further comprising:
querying a proxy server redirect table based on a version indicator included in the API request to determine routing information for the first machine learning model.
14 . The model serving system of claim 13 , wherein providing the input to the first machine learning model comprises routing the input to an endpoint based on the routing information for the first version of the machine learning model.
15 . The model serving system of claim 9 , wherein the API request further includes an authentication token.
16 . The model serving system of claim 15 , the operations further comprising:
authenticating the API request based on the authentication token.
17 . A non-transitory computer-readable medium storing instruction that, when executed by one or more computer processors of a model server system, cause the model server system to perform operations comprising:
receiving an application programming interface (API) request to execute a machine learning model, the API request identifying a first machine learning model to execute the API request, wherein the model server system hosts at least two different machine learning models;
generating an input based on execution data included in the API request;
generating an output by providing the input to the first machine learning model identified by the API request data; and
returning the output in response to the API request.
18 . The non-transitory computer-readable medium of claim 17 , wherein the API request was initiated by an application executing on a client device that is remote to the model server system.
19 . The non-transitory computer-readable medium of claim 17 , wherein the application is a chat application.
20 . The non-transitory computer-readable medium of claim 17 , the operations further comprising:
receiving a subsequent API request identifying a second machine learning model, the second machine learning model being different than the first machine learning model;
generating a subsequent input based on execution data included in the subsequent API request;
generating a subsequent output by providing the subsequent input to the second machine learning model identified by the subsequent API request data; and
returning the subsequent output in response to the subsequent API request.