No project description provided
Project description
aiSSEMBLE™ Foundation Versioning
This module contains the implementation for the aiSSEMBLE versioning service. The service provides the ability to version artifacts produced by a Solution Baseline machine-learning pipeline, and uses Maven to package and deploy the artifacts to Nexus.
Model Versioning
The following GET endpoint is provided for model versioning: /version/model/{run_id}
run_id
is the unique training run identifier assigned to an MLflow training experiment. The versioning service currently only supports models that have been trained using the MLflow implementation of a Solution Baseline machine-learning pipeline. It will package the training run artifacts produced by MLflow and the model artifacts produced when saving through MLflow.
The following environment variables are required for model versioning:
MLFLOW_TRACKING_URI
: the MLflow tracking URI path specified in the training pipeline. This is where MLflow saves the training run artifacts.MODEL_DIRECTORY
: The model directory path specified in the training pipeline. This is where the training pipeline saves the trained models.NEXUS_SERVER
: The Nexus server to use to push the versioned artifact to. The credentials for this server must be provided in the Maven settings.xml file.
Example
Below is a basic example of how to leverage the versioning service:
- Extending the baseline docker image to include Nexus credentials
FROM boozallen/aissemble-versioning:${VERSION_AISSEMBLE} COPY /custom/maven/settings/containing/nexus/credentials.xml /root/.m2/settings.xml
- Docker-compose configurations for running the service
example-versioning-service: image: my-extended-versioning-service-image:latest ports: - '80:80' environment: MLFLOW_TRACKING_URI: /path/to/mlflow/tracking/uri MODEL_DIRECTORY: /path/to/saved/models NEXUS_SERVER: http://nexus-server:port
- Note: By default Versioning requires authorization and therefore must have security services running (policy-decision-point).
- Add the following to the above docker-compose file:
policy-decision-point: image: ${CONTAINER_REGISTRY}boozallen/policy-decision-point-docker:latest hostname: policy-decision-point container_name: policy-decision-point ports: - "8780:8080" - "9700:9000"
- Add an
auth.properties
file to your docker image with the following content.pdp_host_url=http://policy-decision-point:8080/api/pdp
- Then add the following environment variable that points to your properties file.
ENV KRAUSENING_BASE /path/to/auth.properties/file
- To disable authorization you can add the following to the
auth.properties
file:is_authorization_enabled = False
.
- Add the following to the above docker-compose file:
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for aissemble_foundation_versioning_service-1.9.0rc2.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | 26da3bfdba7a44650114fb571930b637ce5083fd4c96b95097d03f409c61550f |
|
MD5 | 926e93df8f37e0731d7142cacb05eeb1 |
|
BLAKE2b-256 | ce78f74517f7d7151e6ece3fc9a4bed4d21c09bfafb6755b589e22db1a2a2e1f |
Hashes for aissemble_foundation_versioning_service-1.9.0rc2-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f2726be16fc28549948bb26a2b3d6a6ad38b3ac763bba4b79e47d136c822e32f |
|
MD5 | d59758a2e459d07e29dfa7b0896c5653 |
|
BLAKE2b-256 | 74c4efa05de174df4336e799d5d7a0aea836426879bfffecc2c3ad5dcd10c9b3 |