Compartilhar via


Atualizar pontos de extremidade do pipeline para o SDK v2

Quando um pipeline estiver em funcionamento, você poderá publicá-lo para que ele seja executado com diferentes entradas. Anteriormente, isso era chamado de Pipelines Publicados.

O que mudou?

O Ponto de Extremidade do Lote propõe uma maneira semelhante, porém mais poderosa, de lidar com vários ativos em execução em uma API durável, e é por isso que a funcionalidade Pipelines publicados foi movida para implantações de componentes de pipeline em pontos de extremidade em lote.

Os pontos de extremidade em lote separam a interface (ponto de extremidade) da implementação real (implantação) e permitem que o usuário decida qual implantação atende à implementação padrão do ponto de extremidade. As Implantações de componentes de pipeline em pontos de extremidade em lote permitem que os usuários implantem componentes de pipeline em vez de pipelines, o que faz um melhor uso de ativos reutilizáveis para essas organizações que buscam simplificar sua prática de MLOps.

A tabela a seguir mostra uma comparação entre cada um dos conceitos:

Conceito SDK v1 SDK v2
Ponto de extremidade REST do pipeline para invocação Ponto de extremidade de pipeline Ponto de extremidade em lote
Versão específica do pipeline no ponto de extremidade Pipeline publicado Implantação do componente de pipeline
Argumentos do pipeline sobre invocação Parâmetro do pipeline Entradas de trabalho
Trabalho gerado a partir de um pipeline publicado Trabalho de pipeline Trabalho em lote

Para saber como criar sua primeira implantação de componente de pipeline, consulte Como implantar pipelines em pontos de extremidade em lote.

Como migrar para pontos de extremidade em lote

Use as diretrizes a seguir para saber como migrar do SDK v1 para o SDK v2 usando os conceitos em Pontos de Extremidade em Lote.

Publicar um pipeline

Compare como a publicação de um pipeline mudou de v1 para v2:

  1. Primeiro, precisamos obter o pipeline que queremos publicar:

    pipeline1 = Pipeline(workspace=ws, steps=[step1, step2])
    
  2. Podemos publicar o pipeline da seguinte maneira:

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

Enviar um trabalho para um ponto de extremidade de pipeline

Para chamar a versão padrão do pipeline, você pode usar:

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

Você também pode enviar um trabalho para uma versão específica:

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

Obter todos os pipelines implantados

all_pipelines = PublishedPipeline.get_all(ws)

Usando a API REST

Você pode criar trabalhos a partir dos pontos de extremidade usando a API REST da URL de invocação. Confira os exemplos a seguir para ver como a invocação foi alterada de v1 para 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}
    }
)

Próximas etapas