All evolutions of your application - change of models for performance improvement, addition or deletion of visual tasks - must result in versions within your same application. Two levels of versioning exist to differentiate between breakable changes that may have an impact on integration and changes that have no impact on integration.
A major version of an application is defined by the list of inputs and the list of tasks used when calling the analysis endpoint.
To create a major version, you first need to upload a workflow file (YAML file) and optionally a custom step file (Python file).
If you want to create a version for an Inference application, you do not need to upload a workflow and you can directly select the models you want. If you need to make changes to the list of models included in your application, then you will need to create a new major version.
You then need to select the model versions for all the models listed in your workflow or the model versions for all models that you want to add to your Inference application.
By following this procedure, you will create both a major version and a first minor version of your application for this major version. You can then also access the page of the major version you just created, where all the visual tasks of your workflow are listed.
A minor version instantiates the business logic and the models that allow a business logic to be attached to the list of inputs and tasks defined in the major version
To create a minor version, go to the page of the major version for which you want to create a new minor version. You have two options for creating a minor version:
- You can upload a new workflow to modify the business logic of one or more tasks of the major version of your application.
If you choose to upload a new workflow, this workflow must be compatible with the corresponding major version. This means that it must have the same list of inputs and tasks as defined in your major version.
- You can also decide to use a previous workflow and just modify the model versions for one or more of the models used in the workflow.