Freigeben über


Upgrade der Pipelineendpunkte auf SDK v2

Sobald Sie eine Pipeline eingerichtet haben, können Sie eine Pipeline so veröffentlichen, dass sie mit unterschiedlichen Eingaben ausgeführt wird. Dies war als veröffentlichte Pipelines bekannt.

Was hat sich geändert?

Batchendpunkt schlägt eine ähnliche und noch leistungsstärkere Möglichkeit zum Verarbeiten mehrerer Objekte vor, die unter einer dauerhaften API ausgeführt werden, weshalb die Funktionalität der veröffentlichten Pipelines in Pipelinekomponentenbereitstellungen in Batchendpunkten verschoben wurde.

Batchendpunkte entkoppeln die Schnittstelle (Endpunkt) von der tatsächlichen Implementierung (Bereitstellung) und ermöglichen es dem Benutzer, zu entscheiden, welche Bereitstellung der Standardimplementierung des Endpunkts dient. Bereitstellungen von Pipelinekomponenten in Batchendpunkten ermöglichen es Benutzern, Pipelinekomponenten anstelle von Pipelines bereitzustellen, wodurch wiederverwendbare Ressourcen für Organisationen, die ihre MLOps-Praxis optimieren möchten, besser genutzt werden können.

Die folgende Tabelle zeigt einen Vergleich der einzelnen Konzepte:

Konzept SDK v1 SDK v2
REST-Endpunkt der Pipeline für den Aufruf Pipelineendpunkt Batchendpunkt
Spezifische Version der Pipeline unter dem Endpunkt Veröffentlichte Pipeline Bereitstellung von Pipelinekomponenten
Pipelineargumente beim Aufruf Pipelineparameter Auftragseingaben
Auftrag generiert aus einer veröffentlichten Pipeline Pipelineauftrag Batchauftrag

Informationen zum Erstellen Ihrer ersten Bereitstellung von Pipelinekomponenten finden Sie unter Bereitstellen von Pipelines in Batchendpunkten.

Wechseln zu Batchendpunkten

Verwenden Sie die folgenden Richtlinien, um zu erfahren, wie Sie mittels den Konzepten in Batchendpunkte von SDK v1 zu SDK v2 wechseln.

Veröffentlichen einer Pipeline

Vergleichen Sie, wie sich die Veröffentlichung einer Pipeline von v1 zu v2 geändert hat:

  1. Zuerst müssen wir die Pipeline abrufen, die wir veröffentlichen wollen:

    pipeline1 = Pipeline(workspace=ws, steps=[step1, step2])
    
  2. Wir können die Pipeline wie folgt veröffentlichen:

    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"
    )
    

Übermitteln eines Auftrags an einen Pipelineendpunkt

Um die Standardversion der Pipeline aufzurufen, können Sie Folgendes verwenden:

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

Sie können einen Auftrag auch an eine bestimmte Version übermitteln:

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

Abrufen aller bereitgestellten Pipelines

all_pipelines = PublishedPipeline.get_all(ws)

Verwenden der REST-API

Sie können Aufträge über die Endpunkte erstellen, indem Sie die REST-API der Aufruf-URL verwenden. In den folgenden Beispielen erfahren Sie, wie sich der Aufruf von v1 zu v2 geändert hat.

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}
    }
)

Nächste Schritte