Delen via


Pijplijneindpunten upgraden naar SDK v2

Zodra u een pijplijn hebt die actief is, kunt u een pijplijn publiceren zodat deze wordt uitgevoerd met verschillende invoerwaarden. Dit werd gepubliceerde pijplijnen genoemd.

Wat is er veranderd?

Batch-eindpunt biedt een vergelijkbare maar krachtigere manier om meerdere assets te verwerken die worden uitgevoerd onder een duurzame API. Daarom is de functionaliteit voor gepubliceerde pijplijnen verplaatst naar implementaties van pijplijnonderdelen in batch-eindpunten.

Met Batch-eindpunten wordt de interface (eindpunt) losgekoppeld van de werkelijke implementatie (implementatie) en kan de gebruiker bepalen welke implementatie de standaardimplementatie van het eindpunt dient. Met implementaties van pijplijnonderdelen in batch-eindpunten kunnen gebruikers pijplijnonderdelen implementeren in plaats van pijplijnen, waardoor herbruikbare assets beter kunnen worden gebruikt voor organisaties die hun MLOps-praktijk willen stroomlijnen.

In de volgende tabel ziet u een vergelijking van elk van de concepten:

Concept SDK v1 SDK v2
REST-eindpunt van pijplijn voor aanroep Pijplijneindpunt Batch-eindpunt
Specifieke versie van pijplijn onder het eindpunt Gepubliceerde pijplijn Implementatie van pijplijnonderdelen
Argumenten van pijplijn bij aanroep Pijplijnparameter Taakinvoer
Taak gegenereerd op basis van een gepubliceerde pijplijn Pijplijntaak Batchtaak

Zie Pijplijnen implementeren in Batch-eindpunten voor meer informatie over het maken van uw eerste pijplijnonderdeelimplementatie.

Verplaatsen naar batch-eindpunten

Gebruik de volgende richtlijnen voor meer informatie over het overstappen van SDK v1 naar SDK v2 met behulp van de concepten in Batch-eindpunten.

Een pijplijn publiceren

Vergelijk hoe het publiceren van een pijplijn is gewijzigd van v1 in v2:

  1. Eerst moeten we de pijplijn ophalen die we willen publiceren:

    pipeline1 = Pipeline(workspace=ws, steps=[step1, step2])
    
  2. We kunnen de pijplijn als volgt publiceren:

    from azureml.pipeline.core import PipelineEndpoint
    
    endpoint_name = "PipelineEndpointTest"
    pipeline_endpoint = PipelineEndpoint.publish(
        workspace=ws, 
        name=endpoint_name,
        pipeline=pipeline, 
        description="A hello world endpoint for component deployments"
    )
    

Een taak verzenden naar een pijplijneindpunt

Als u de standaardversie van de pijplijn wilt aanroepen, kunt u het volgende gebruiken:

pipeline_endpoint = PipelineEndpoint.get(workspace=ws, name="PipelineEndpointTest")
run_id = pipeline_endpoint.submit("PipelineEndpointExperiment")

U kunt ook een taak verzenden naar een specifieke versie:

run_id = pipeline_endpoint.submit(endpoint_name, pipeline_version="0")

Alle pijplijnen implementeren

all_pipelines = PublishedPipeline.get_all(ws)

De REST API gebruiken

U kunt taken maken op basis van de eindpunten met behulp van de REST API van de aanroep-URL. Zie de volgende voorbeelden om te zien hoe aanroep is gewijzigd van v1 in v2.

pipeline_endpoint = PipelineEndpoint.get(workspace=ws, name=endpoint_name)
rest_endpoint = pipeline_endpoint.endpoint

response = requests.post(
    rest_endpoint, 
    headers=aad_token, 
    json={
        "ExperimentName": "PipelineEndpointExperiment",
        "RunSource": "API",
        "ParameterAssignments": {"argument1": "united", "argument2":45}
    }
)

Volgende stappen