Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
33 commits
Select commit Hold shift + click to select a range
21f4d2b
AML pipeline component for MaaP self serve validation
abhishekMS2024 Mar 25, 2025
eecdcea
AML pipeline update to run the validation and publish result for maap…
abhishekMS2024 Mar 28, 2025
d577a6d
Updated MaaP selfserve validation pipeline component
abhishekMS2024 Mar 31, 2025
7faef92
Updated the deploy aml component
abhishekMS2024 Mar 31, 2025
ba4e70f
renamed publish_result component
abhishekMS2024 Mar 31, 2025
d544040
updated the publish result component
abhishekMS2024 Mar 31, 2025
b0743b5
Updated publish validation result
abhishekMS2024 Apr 1, 2025
aebe16a
Updated validation result publish API
abhishekMS2024 Apr 2, 2025
380ca49
Updated the AML pipeline validation component
abhishekMS2024 Apr 8, 2025
29aa0cf
maap self-serve validation
abhishekMS2024 Apr 9, 2025
fbd8371
maap-self-serve validation pipeline update
abhishekMS2024 Apr 9, 2025
1b02029
maap-self-serve fixed syntax issue
abhishekMS2024 Apr 9, 2025
5fe63f3
Merge branch 'main' into abhisheku/maap_validation_component
abhishekMS2024 Apr 9, 2025
d493653
Merge branch 'main' into abhisheku/maap_validation_component
abhishekMS2024 Apr 9, 2025
277bb02
maap-self-serve fixed syntax issue
abhishekMS2024 Apr 10, 2025
a3d1f25
Merge branch 'abhisheku/maap_validation_component' of https://github.…
abhishekMS2024 Apr 10, 2025
5c53194
Updated the environment used for deploy model component
abhishekMS2024 Apr 13, 2025
efa03c2
Added inference response validation
abhishekMS2024 Apr 14, 2025
62c659f
Updated the validation result file extension
abhishekMS2024 Apr 14, 2025
82262e9
Download validation result with json file extension
abhishekMS2024 Apr 15, 2025
e57a8b1
Updated the instance_type sku list
abhishekMS2024 Apr 16, 2025
16860cd
Maap self serve save validation result fix
abhishekMS2024 Apr 22, 2025
13861db
Maap self serve save validation result fix
abhishekMS2024 Apr 22, 2025
37cf6ba
Fixed merge conflict
abhishekMS2024 May 6, 2025
d41d268
Publish validation result for both success and failure case
abhishekMS2024 May 7, 2025
298b076
Publish validation result for both success and failure case
abhishekMS2024 May 7, 2025
47e3422
Maap Self serve validation AML pipeline error message update
abhishekMS2024 May 10, 2025
c1211a9
Maap Self serve validation AML pipeline error message update
abhishekMS2024 May 11, 2025
3ed891b
Maap Self serve validation AML pipeline error message update
abhishekMS2024 May 13, 2025
6faef71
AML MaaP Self serve validation pipeline refactoring
abhishekMS2024 May 19, 2025
b301ddd
reverted deploy_model component
abhishekMS2024 May 19, 2025
992f949
reverted deploy_model component
abhishekMS2024 May 19, 2025
b1c61c8
Maap Self serve validation AML pipeline custom model support
abhishekMS2024 May 22, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
40 changes: 40 additions & 0 deletions assets/common/components/delete_endpoint/spec.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
$schema: https://azuremlschemas.azureedge.net/latest/commandComponent.schema.json
name: delete_endpoint
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Lets reuse these pls, can you pls post on System registry content channel

version: 0.0.7
type: command

is_deterministic: True

display_name: Delete Endpoint
description:
Deletes an endpoint resource.

environment: azureml://registries/azureml/environments/python-sdk-v2/versions/28
Comment thread
abhishekMS2024 marked this conversation as resolved.

code: ../../src
command: >-
python delete_endpoint.py
$[[--model_deployment_details ${{inputs.model_deployment_details}}]]
$[[--endpoint_name ${{inputs.endpoint_name}}]]
$[[--deployment_name ${{inputs.deployment_name}}]]

inputs:
# Output of registering component
model_deployment_details:
type: uri_file
optional: true
description: JSON file that contains the deployment details.

endpoint_name:
type: string
optional: true
description: Name of the endpoint to delete.

deployment_name:
type: string
optional: true
description: Name of the deployment to delete.

tags:
Preview: ""
Internal: ""
234 changes: 234 additions & 0 deletions assets/common/components/deploy_inference_model/spec.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,234 @@
$schema: https://azuremlschemas.azureedge.net/latest/commandComponent.schema.json
name: deploy_inference_model
version: 0.0.1
type: command

is_deterministic: True

display_name: Deploy model
description:
Deploy a model to a workspace. The component works on compute with [MSI](https://learn.microsoft.com/en-us/azure/machine-learning/how-to-create-manage-compute-instance?tabs=python) attached.

environment: azureml://registries/azureml/environments/python-sdk-v2/versions/29

code: ../../src
command: >-
python deploy_inference_model.py
$[[--registration_details_folder ${{inputs.registration_details_folder}}]]
$[[--model_id ${{inputs.model_id}}]]
$[[--environment_id ${{inputs.environment_id}}]]
$[[--inference_payload ${{inputs.inference_payload}}]]
$[[--inference_payload_str ${{inputs.inference_payload_str}}]]
$[[--endpoint_name ${{inputs.endpoint_name}}]]
$[[--deployment_name ${{inputs.deployment_name}}]]
$[[--instance_type ${{inputs.instance_type}}]]
$[[--instance_count ${{inputs.instance_count}}]]
$[[--max_concurrent_requests_per_instance ${{inputs.max_concurrent_requests_per_instance}}]]
$[[--request_timeout_ms ${{inputs.request_timeout_ms}}]]
$[[--max_queue_wait_ms ${{inputs.max_queue_wait_ms}}]]
$[[--failure_threshold_readiness_probe ${{inputs.failure_threshold_readiness_probe}}]]
$[[--success_threshold_readiness_probe ${{inputs.success_threshold_readiness_probe}}]]
$[[--timeout_readiness_probe ${{inputs.timeout_readiness_probe}}]]
$[[--period_readiness_probe ${{inputs.period_readiness_probe}}]]
$[[--initial_delay_readiness_probe ${{inputs.initial_delay_readiness_probe}}]]
$[[--failure_threshold_liveness_probe ${{inputs.failure_threshold_liveness_probe}}]]
$[[--timeout_liveness_probe ${{inputs.timeout_liveness_probe}}]]
$[[--period_liveness_probe ${{inputs.period_liveness_probe}}]]
$[[--initial_delay_liveness_probe ${{inputs.initial_delay_liveness_probe}}]]
$[[--egress_public_network_access ${{inputs.egress_public_network_access}}]]
--model_deployment_details ${{outputs.model_deployment_details}}
--model_inference_response ${{outputs.model_inference_response}}
--deploy_error ${{outputs.deploy_error}}

inputs:
# Output of registering component
registration_details_folder:
type: uri_folder
optional: true
description: Folder containing model registration details in a JSON file named model_registration_details.json

model_id:
type: string
optional: true
description: |
Asset ID of the model registered in workspace/registry.
Registry - azureml://registries/<registry-name>/models/<model-name>/versions/<version>
Workspace - azureml:<model-name>:<version>

environment_id:
type: string
optional: true
description: |
Asset ID of the environment registered in workspace/registry.
Registry - azureml://registries/<registry-name>/environments/<environment-name>/versions/<version>
Workspace - azureml:<environment-name>:<version>

inference_payload:
type: uri_file
optional: true
description: JSON payload which would be used to validate deployment

inference_payload_str:
type: string
optional: true
description: Serialized JSON payload which would be used to validate deployment

endpoint_name:
type: string
optional: true
description: Name of the endpoint

deployment_name:
type: string
optional: true
default: default
description: Name of the deployment

instance_type:
type: string
optional: true
enum:
- Standard_DS1_v2
- Standard_DS2_v2
- Standard_DS3_v2
- Standard_DS4_v2
- Standard_DS5_v2
- Standard_F2s_v2
- Standard_F4s_v2
- Standard_F8s_v2
- Standard_F16s_v2
- Standard_F32s_v2
- Standard_F48s_v2
- Standard_F64s_v2
- Standard_F72s_v2
- Standard_FX24mds
- Standard_FX36mds
- Standard_FX48mds
- Standard_E2s_v3
- Standard_E4s_v3
- Standard_E8s_v3
- Standard_E16s_v3
- Standard_E32s_v3
- Standard_E48s_v3
- Standard_E64s_v3
- Standard_NC4as_T4_v3
- Standard_NC6s_v2
- Standard_NC6s_v3
- Standard_NC8as_T4_v3
- Standard_NC12s_v2
- Standard_NC12s_v3
- Standard_NC16as_T4_v3
- Standard_NC24s_v2
- Standard_NC24s_v3
- Standard_NC24rs_v3
- Standard_NC24ads_A100_v4
- Standard_NC48ads_A100_v4
- Standard_NC96ads_A100_v4
- Standard_NC64as_T4_v3
- Standard_ND40rs_v2
- Standard_ND96asr_v4
- Standard_ND96amsr_A100_v4
default: Standard_NC24s_v3
description: Compute instance type to deploy model. Make sure that instance type is available and have enough quota available.

instance_count:
type: integer
optional: true
default: 1
description: Number of instances you want to use for deployment. Make sure instance type have enough quota available.

max_concurrent_requests_per_instance:
type: integer
default: 1
optional: true
description: Maximum concurrent requests to be handled per instance

request_timeout_ms:
type: integer
default: 60000
optional: true
description: Request timeout in ms. Max limit is 90000.

max_queue_wait_ms:
type: integer
default: 60000
optional: true
description: Maximum queue wait time of a request in ms

failure_threshold_readiness_probe:
type: integer
default: 10
optional: true
description: The number of times system will try after failing the readiness probe

success_threshold_readiness_probe:
type: integer
default: 1
optional: true
description: The minimum consecutive successes for the readiness probe to be considered successful after having failed

timeout_readiness_probe:
type: integer
default: 10
optional: true
description: The number of seconds after which the readiness probe times out

period_readiness_probe:
type: integer
default: 10
optional: true
description: How often (in seconds) to perform the readiness probe

initial_delay_readiness_probe:
type: integer
default: 10
optional: true
description: The number of seconds after the container has started before the readiness probe is initiated

failure_threshold_liveness_probe:
type: integer
default: 30
optional: true
description: The number of times system will try after failing the liveness probe

timeout_liveness_probe:
type: integer
default: 10
optional: true
description: The number of seconds after which the liveness probe times out

period_liveness_probe:
type: integer
default: 10
optional: true
description: How often (in seconds) to perform the liveness probe

initial_delay_liveness_probe:
type: integer
default: 10
optional: true
description: The number of seconds after the container has started before the liveness probe is initiated

egress_public_network_access:
type: string
default: enabled
optional: true
enum:
- enabled
- disabled
description: Setting it to disabled secures the deployment by restricting communication between the deployment and the Azure resources used by it

outputs:
model_deployment_details:
type: uri_file
description: Json file to which deployment details will be written
model_inference_response:
type: uri_file
description: JSON file containing inference results
deploy_error:
type: uri_file
description: File containing error messages or stack traces from the validation step.

tags:
Preview: ""
Internal: ""
2 changes: 1 addition & 1 deletion assets/common/src/deploy.py
Original file line number Diff line number Diff line change
Expand Up @@ -338,4 +338,4 @@ def main():
# run script
if __name__ == "__main__":
# run main function
main()
main()
Loading
Loading