Skip to main content

No project description provided

Project description

aiSSEMBLE™ Foundation Versioning

PyPI PyPI - Python Version PyPI - Wheel

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.

Project details


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

If you're not sure about the file name format, learn more about wheel file names.

File details

Details for the file aissemble_foundation_versioning_service-1.13.0rc6.tar.gz.

File metadata

File hashes

Hashes for aissemble_foundation_versioning_service-1.13.0rc6.tar.gz
Algorithm Hash digest
SHA256 1579ea10928fd6f60b82dd11399aa2b12bcd8e4a7baf2f0482a592f9585f4dd2
MD5 2db14905bf497dc6f7e2d6e4f86c2fc2
BLAKE2b-256 88aaf67df8c33f2f26fb8e16b3122e80134e17afe18acda9adf8c84e81751adb

See more details on using hashes here.

File details

Details for the file aissemble_foundation_versioning_service-1.13.0rc6-py3-none-any.whl.

File metadata

File hashes

Hashes for aissemble_foundation_versioning_service-1.13.0rc6-py3-none-any.whl
Algorithm Hash digest
SHA256 040bac4c5f9eeb901bced1c48218ccb90df031b31c20fbc846e8a031fd386fd0
MD5 5ebae384999d1d44c714538112dd7d73
BLAKE2b-256 71871a3700fc640dc976806fae9eb6492e9466a74e74ab510c4aecea0a61d20a

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page