Managing versions of your endpoint¶
Updating and activating endpoint versions¶
The page First API (without API Deployer) explains how to import a package containing an updated version of your endpoint.
To activate the latest version of your endpoint, use the command:
./bin/apinode-admin service-switch-to-newest <SERVICE_ID>
Running multiple versions at once¶
Endpoints can serve multiple versions simultaneously, you just need to specify the probability each version has to be used for scoring a query.
Note
This feature can be used to run some A/B testing of your machine learning models.
The API node log of queries will store which version of your endpoint was used, see Logging in DSS for more information about logging.
The mapping of versions/probabilities is defined by a JSON containing entries
with generations
and proba
properties.
{"entries":
[
{"generation": "v1",
"proba": 0.5
},
{"generation": "v2",
"proba": 0.5
}
]
}
Note
Probabilities must sum to 1.
The mapping is read from std_in by the command service-set-mapping
, example
usage:
echo '{"entries":
[
{"generation": "v1",
"proba": 0.5
},
{"generation": "v2",
"proba": 0.5
}
]
}' | ./bin/apinode-admin service-set-mapping <SERVICE_ID>
Monitoring version activation¶
In order to know which versions of an endpoint are currently served by the API and their associated probabilities, you can use the command:
./bin/apinode-admin service-list-generations <SERVICE_ID>