The Python client can be used to programmatically deploy models to a Cortex Cluster.
pip install git+https://github.com/cortexlabs/[email protected]#egg=cortex\&subdirectory=pkg/workloads/cortex/client
The Python client needs to be initialized with AWS credentials and an operator URL for your Cortex cluster. You can find the operator URL by running cortex cluster info.
from cortex import Client​cortex = Client(aws_access_key_id="<string>", # AWS access key associated with the account that the cluster is running onaws_secret_access_key="<string>", # AWS secret key associated with the AWS access keyoperator_url="<string>" # operator URL of your cluster)​api_url = cortex.deploy(deployment_name="<string>", # deployment name (required)api_name="<string>", # API name (required)model_path="<string>", # S3 path to an exported model (required)model_format="<string>", # model format, must be "tensorflow" or "onnx" (required)pre_inference=callable, # function used to prepare requests for model inputpost_inference=callable, # function used to prepare model output for responsetf_serving_key="<string>" # name of the signature def to use for prediction (required if your model has more than one signature def))
api_url contains the URL of the deployed API. The API accepts JSON POST requests.
import requests​sample = {"feature_1": 'a',"feature_2": 'b',"feature_3": 'c'}​resp = requests.post(api_url, json=sample)resp.json()