AksWebservice Classe

Representa um modelo de machine learning implantado como um ponto de extremidade de serviço Web no Serviço de Kubernetes do Azure.

Um serviço implementado é criado a partir de um modelo, script e arquivos associados. O serviço Web resultante é um ponto de extremidade HTTP com balanceamento de carga com uma API REST. Você pode enviar dados para essa API e receber a previsão retornada pelo modelo.

O AksWebservice implanta um serviço único em um ponto de extremidade. Para implantar vários serviços em um ponto de extremidade, use a classe AksEndpoint.

Para saber mais, confira Implantar um modelo em um cluster do Serviço de Kubernetes do Azure.

Inicialize a instância do serviço Web.

O construtor webservice recupera uma representação na nuvem de um objeto de serviço Web associado ao workspace fornecido. Ele retornará uma instância de uma classe filho correspondente ao tipo específico do objeto webservice recuperado.

Herança
AksWebservice

Construtor

AksWebservice(workspace, name)

Parâmetros

workspace
Workspace
Obrigatório

O objeto de workspace que contém o objeto de serviço Web a ser recuperado.

name
str
Obrigatório

O nome do objeto de serviço Web a ser recuperado.

Comentários

O padrão de implantação recomendado é criar um objeto de configuração de implantação com o método deploy_configuration e, em seguida, usá-lo com o método deploy da classe Model, conforme mostrado abaixo.


   # Set the web service configuration (using default here)
   aks_config = AksWebservice.deploy_configuration()

   # # Enable token auth and disable (key) auth on the webservice
   # aks_config = AksWebservice.deploy_configuration(token_auth_enabled=True, auth_enabled=False)

O exemplo completo está disponível em https://github.com/Azure/MachineLearningNotebooks/blob/master/how-to-use-azureml/deployment/production-deploy-to-aks/production-deploy-to-aks.ipynb

Há várias maneiras de implantar um modelo como um serviço Web, inclusive com:

  • o método deploy do Model para modelos já registrados no workspace.

  • o método deploy_from_image do Webservice.

  • o método deploy_from_model do Webservice para modelos já registrados no workspace. Esse método criará uma imagem.

  • o método deploy do Webservice, que registrará um modelo e criará uma imagem.

Para obter informações sobre como trabalhar com serviços Web, consulte

A seção Variáveis lista os atributos de uma representação local do objeto AksWebservice na nuvem. Essas variáveis devem ser consideradas somente leitura. Alterar os valores não será refletido no objeto de nuvem correspondente.

Variáveis

enable_app_insights
bool

Se o log do AppInsights está habilitado ou não para o serviço Web.

autoscaler
AutoScaler

O objeto Autoscaler para o serviço Web.

compute_name
str

O nome do ComputeTarget em que o serviço Web está implantado.

container_resource_requirements
ContainerResourceRequirements

Os requisitos de recursos do contêiner para o serviço Web.

liveness_probe_requirements
LivenessProbeRequirements

Os requisitos de sondagem de atividade para o serviço Web.

data_collection
DataCollection

O objeto DataCollection para o serviço Web.

max_concurrent_requests_per_container
int

O número máximo de solicitações simultâneas por contêiner para o serviço Web.

max_request_wait_time
int

O tempo de espera máximo de solicitação para o serviço Web, em milissegundos.

num_replicas
int

O número de réplicas para o serviço Web. Cada réplica corresponde a um pod do AKS.

scoring_timeout_ms
int

O tempo de pontuação para o serviço Web, em milissegundos.

azureml.core.webservice.AksWebservice.scoring_uri
str

O ponto de extremidade de pontuação para o serviço Web

is_default
bool

Se o serviço Web for a versão padrão para o AksEndpoint pai.

traffic_percentile
int

Qual percentual de tráfego rotear para o serviço Web no AksEndpoint pai.

version_type
VersionType

O tipo de versão para o serviço Web no AksEndpoint pai.

token_auth_enabled
bool

Se a autenticação de token está ou não habilitada para o serviço Web.

environment
Environment

O objeto Environment que foi usado para criar o serviço Web.

azureml.core.webservice.AksWebservice.models
list[Model]

Uma lista de modelos implantados no serviço Web.

deployment_status
str

O status de implantação do serviço Web.

namespace
str

O namespace do AKS do serviço Web.

azureml.core.webservice.AksWebservice.swagger_uri
str

O ponto de extremidade do swagger para o serviço Web.

Métodos

add_properties

Adiciona pares chave-valor ao dicionário de propriedades desse serviço Web.

add_tags

Adiciona pares de chave-valor ao dicionário de marcas desse serviço Web.

Gera WebserviceException.

deploy_configuration

Cria um objeto de configuração para implantação em um destino de computação do AKS.

get_access_token

Recupere o token de autenticação para esse serviço Web.

get_token

PRETERIDO. Use o método get_access_token.

Recupere o token de autenticação para esse serviço Web.

remove_tags

Remove as chaves especificadas do dicionário de marcas deste serviço Web.

run

Chama esse serviço Web com a entrada fornecida.

serialize

Converte esse serviço Web em um dicionário serializado JSON.

update

Atualiza o serviço Web com as propriedades fornecidas.

Os valores deixados como None permanecerão inalterados neste serviço Web.

add_properties

Adiciona pares chave-valor ao dicionário de propriedades desse serviço Web.

add_properties(properties)

Parâmetros

properties
dict[str, str]
Obrigatório

O dicionário de propriedades a adicionar.

add_tags

Adiciona pares de chave-valor ao dicionário de marcas desse serviço Web.

Gera WebserviceException.

add_tags(tags)

Parâmetros

tags
dict[str, str]
Obrigatório

O dicionário de marcas a adicionar.

Exceções

deploy_configuration

Cria um objeto de configuração para implantação em um destino de computação do AKS.

static deploy_configuration(autoscale_enabled=None, autoscale_min_replicas=None, autoscale_max_replicas=None, autoscale_refresh_seconds=None, autoscale_target_utilization=None, collect_model_data=None, auth_enabled=None, cpu_cores=None, memory_gb=None, enable_app_insights=None, scoring_timeout_ms=None, replica_max_concurrent_requests=None, max_request_wait_time=None, num_replicas=None, primary_key=None, secondary_key=None, tags=None, properties=None, description=None, gpu_cores=None, period_seconds=None, initial_delay_seconds=None, timeout_seconds=None, success_threshold=None, failure_threshold=None, namespace=None, token_auth_enabled=None, compute_target_name=None, cpu_cores_limit=None, memory_gb_limit=None, blobfuse_enabled=None)

Parâmetros

autoscale_enabled
bool
valor padrão: None

Se o cálculo automático deve ou não ser habilitado para este serviço Web. O valor padrão será True se num_replicas for None.

autoscale_min_replicas
int
valor padrão: None

O número mínimo de contêineres a serem usados no dimensionamento automático desse serviço Web. O valor padrão é 1.

autoscale_max_replicas
int
valor padrão: None

O número máximo de contêineres a serem usados no dimensionamento automático desse serviço Web. O valor padrão é 10.

autoscale_refresh_seconds
int
valor padrão: None

Com que frequência o dimensionador automático deve tentar dimensionar esse serviço Web. O valor padrão é 1.

autoscale_target_utilization
int
valor padrão: None

A utilização de destino (em percentual de 100) que o dimensionador automático deve tentar manter para esse serviço Web. O valor padrão é 70.

collect_model_data
bool
valor padrão: None

Se a coleta de dados de modelo deve ou não ser habilitada para esse serviço Web. Usa False como padrão.

auth_enabled
bool
valor padrão: None

Se deve ou não habilitar a autenticação de chave para esse serviço Web. O padrão é True.

cpu_cores
float
valor padrão: None

O número de núcleos de CPU a serem alocados para esse serviço Web. Pode ser um decimal. O padrão é 0.1. Corresponde à solicitação do núcleo de pod, não ao limite, no Serviço de Kubernetes do Azure.

memory_gb
float
valor padrão: None

A quantidade de memória (em GB) a ser alocada para esse serviço Web. Pode ser um decimal. O padrão é 0.5. Corresponde à solicitação de memória de pod, não ao limite, no Serviço de Kubernetes do Azure.

enable_app_insights
bool
valor padrão: None

Se o registro em log do Application Insights deve ou não ser habilitado para esse serviço Web. Usa False como padrão.

scoring_timeout_ms
int
valor padrão: None

Um tempo limite a ser imposto para chamadas de pontuação para este serviço Web. O valor padrão é 60000.

replica_max_concurrent_requests
int
valor padrão: None

O número máximo de solicitações simultâneas por réplica permitidas para esse serviço Web. O valor padrão é 1. Não altere o valor padrão 1 dessa configuração, a menos que seja instruído pelo suporte técnico da Microsoft ou por um membro da equipe do Azure Machine Learning.

max_request_wait_time
int
valor padrão: None

A quantidade máxima de tempo que uma solicitação permanece na fila (em milissegundos) antes de retornar um erro 503. O valor padrão é 500.

num_replicas
int
valor padrão: None

O número de contêineres alocados para este serviço Web. Sem padrão; se este parâmetro não for definido, o dimensionamento automático será habilitado por padrão.

primary_key
str
valor padrão: None

Uma chave de autenticação primária usada para esse serviço Web.

secondary_key
str
valor padrão: None

Uma chave de autenticação secundária usada para esse serviço Web.

tags
dict[str, str]
valor padrão: None

Dicionário de marcas de chave/valor para fornecer a esse serviço Web.

properties
dict[str, str]
valor padrão: None

Dicionário de propriedades de chave/valor fornecidas a esse serviço Web. Essas propriedades não podem ser alteradas após a implantação, no entanto, novos pares de chave/valor podem ser adicionados.

description
str
valor padrão: None

Uma descrição fornecida a esse serviço Web.

gpu_cores
int
valor padrão: None

O número de núcleos de GPU alocados para esse serviço Web. Assume o padrão de 0.

period_seconds
int
valor padrão: None

A frequência (em segundos) para realizar a investigação de atividade. O padrão é 10 segundos. O valor mínimo é 1.

initial_delay_seconds
int
valor padrão: None

O número de segundos depois que o contêiner é iniciado antes que as investigações de atividade sejam iniciadas. O valor padrão é 310.

timeout_seconds
int
valor padrão: None

O número de segundos após os quais a investigação de atividade atinge o tempo limite. O valor padrão é 2 segundos. O valor mínimo é 1.

success_threshold
int
valor padrão: None

O mínimo de sucessos consecutivos para que a investigação de atividade seja considerada bem-sucedida após apresentar falha. O valor padrão é 1. O valor mínimo é 1.

failure_threshold
int
valor padrão: None

Quando um pod for iniciado e a investigação de atividade falhar, o Kubernetes tentará o failureThreshold vezes antes de desistir. O valor padrão é 3. O valor mínimo é 1.

namespace
str
valor padrão: None

O namespace do Kubernetes para implantar este serviço Web: até 63 caracteres alfanuméricos minúsculos ('a'-'z', '0'-'9') e hífen ('-'). O primeiro e o último caracteres não podem ser hifens.

token_auth_enabled
bool
valor padrão: None

Se deve ou não habilitar a autenticação de Token para esse serviço Web. Se isso estiver habilitado, os usuários poderão acessar esse serviço Web buscando um token de acesso usando as credenciais deles do Azure Active Directory. Usa False como padrão.

compute_target_name
str
valor padrão: None

O nome do destino de computação a ser implantado

cpu_cores_limit
float
valor padrão: None

O número máximo de núcleos de CPU que esse serviço Web tem permissão para usar. Pode ser um decimal.

memory_gb_limit
float
valor padrão: None

A quantidade máxima de memória (em GB) que esse serviço Web tem permissão para usar. Pode ser um decimal.

blobfuse_enabled
bool
valor padrão: None

Se deve ou não habilitar o blobfuse para download de modelo para esse serviço Web. O padrão é True

Retornos

Um objeto de configuração a ser usado ao implantar um AksWebservice.

Tipo de retorno

Exceções

get_access_token

Recupere o token de autenticação para esse serviço Web.

get_access_token()

Retornos

Um objeto que descreve o token de autenticação para esse serviço Web.

Tipo de retorno

Exceções

get_token

PRETERIDO. Use o método get_access_token.

Recupere o token de autenticação para esse serviço Web.

get_token()

Retornos

O token de autenticação para esse serviço Web e quando atualizá-lo.

Tipo de retorno

Exceções

remove_tags

Remove as chaves especificadas do dicionário de marcas deste serviço Web.

remove_tags(tags)

Parâmetros

tags
list[str]
Obrigatório

A lista de chaves para remover

run

Chama esse serviço Web com a entrada fornecida.

run(input_data)

Parâmetros

input_data
<xref:varies>
Obrigatório

A entrada para chamar o serviço Web

Retornos

O resultado da chamada do serviço Web

Tipo de retorno

Exceções

serialize

Converte esse serviço Web em um dicionário serializado JSON.

serialize()

Retornos

A representação JSON desse serviço Web.

Tipo de retorno

update

Atualiza o serviço Web com as propriedades fornecidas.

Os valores deixados como None permanecerão inalterados neste serviço Web.

update(image=None, autoscale_enabled=None, autoscale_min_replicas=None, autoscale_max_replicas=None, autoscale_refresh_seconds=None, autoscale_target_utilization=None, collect_model_data=None, auth_enabled=None, cpu_cores=None, memory_gb=None, enable_app_insights=None, scoring_timeout_ms=None, replica_max_concurrent_requests=None, max_request_wait_time=None, num_replicas=None, tags=None, properties=None, description=None, models=None, inference_config=None, gpu_cores=None, period_seconds=None, initial_delay_seconds=None, timeout_seconds=None, success_threshold=None, failure_threshold=None, namespace=None, token_auth_enabled=None, cpu_cores_limit=None, memory_gb_limit=None, **kwargs)

Parâmetros

image
Image
valor padrão: None

Uma nova imagem para implantar no serviço Web

autoscale_enabled
bool
valor padrão: None

Habilitar ou desabilitar o dimensionamento automático desse serviço Web

autoscale_min_replicas
int
valor padrão: None

O número mínimo de contêineres a serem usados no dimensionamento automático desse serviço Web

autoscale_max_replicas
int
valor padrão: None

O número máximo de contêineres a serem usados no dimensionamento automático desse serviço Web

autoscale_refresh_seconds
int
valor padrão: None

Com que frequência o dimensionador automático deve tentar dimensionar esse serviço Web

autoscale_target_utilization
int
valor padrão: None

A utilização de destino (em percentual de 100) que o dimensionador automático deve tentar manter para esse serviço Web

collect_model_data
bool
valor padrão: None

Habilitar ou desabilitar a coleta de dados de modelo para esse serviço Web

auth_enabled
bool
valor padrão: None

Se a autenticação deve ou não ser habilitada para esse serviço Web

cpu_cores
float
valor padrão: None

O número de núcleos de CPU a serem alocados para esse serviço Web. Pode ser um decimal

memory_gb
float
valor padrão: None

A quantidade de memória (em GB) alocada para esse serviço Web. Pode ser um decimal

enable_app_insights
bool
valor padrão: None

Se o registro em log do Application Insights deve ou não ser habilitado para esse serviço Web

scoring_timeout_ms
int
valor padrão: None

Um tempo limite para aplicar chamadas de pontuação para este serviço Web

replica_max_concurrent_requests
int
valor padrão: None

O número máximo de solicitações simultâneas por réplica permitidas para esse serviço Web.

max_request_wait_time
int
valor padrão: None

A quantidade máxima de tempo que uma solicitação permanece na fila (em milissegundos) antes de retornar um erro 503

num_replicas
int
valor padrão: None

O número de contêineres a serem alocados para esse serviço Web

tags
dict[str, str]
valor padrão: None

Dicionário de marcas de chave/valor para fornecer a esse serviço Web. Substituirá as marcas existentes.

properties
dict[str, str]
valor padrão: None

Dicionário de propriedades de chave-valor para adicionar ao dicionário de propriedades existente

description
str
valor padrão: None

Uma descrição a ser fornecida a esse serviço Web

models
list[Model]
valor padrão: None

Uma lista de objetos Modelo para pacote com o serviço atualizado

inference_config
InferenceConfig
valor padrão: None

Um objeto InferenceConfig usado para fornecer as propriedades de implantação de modelo necessárias.

gpu_cores
int
valor padrão: None

O número de núcleos de GPU a serem alocados para esse serviço Web

period_seconds
int
valor padrão: None

A frequência (em segundos) para realizar a investigação de atividade. O padrão é 10 segundos. O valor mínimo é 1.

initial_delay_seconds
int
valor padrão: None

Número de segundos depois que o contêiner é iniciado antes que as investigações de atividade sejam iniciadas.

timeout_seconds
int
valor padrão: None

Número de segundos após os quais a investigação de atividade expira. O padrão é 1 segundo. O valor mínimo é 1.

success_threshold
int
valor padrão: None

O mínimo de sucessos consecutivos para que a investigação de atividade seja considerada bem-sucedida após apresentar falha. O valor padrão é 1. O valor mínimo é 1.

failure_threshold
int
valor padrão: None

Quando um pod for iniciado e a investigação de atividade falhar, o Kubernetes tentará o failureThreshold vezes antes de desistir. O valor padrão é 3. O valor mínimo é 1.

namespace
str
valor padrão: None

O namespace do Kubernetes para implantar este serviço Web: até 63 caracteres alfanuméricos minúsculos ('a'-'z', '0'-'9') e hífen ('-'). O primeiro e o último caracteres não podem ser hifens.

token_auth_enabled
bool
valor padrão: None

Se deve ou não habilitar a autenticação de Token para esse serviço Web. Se isso estiver habilitado, os usuários poderão acessar esse serviço Web buscando o token de acesso usando as credenciais deles do Azure Active Directory. Usa False como padrão

cpu_cores_limit
float
valor padrão: None

O número máximo de núcleos de CPU que esse serviço Web tem permissão para usar. Pode ser um decimal.

memory_gb_limit
float
valor padrão: None

A quantidade máxima de memória (em GB) que esse serviço Web tem permissão para usar. Pode ser um decimal.

kwargs
<xref:varies>
Obrigatório

inclui parâmetros para dar suporte à migração do serviço Web do AKS para o ponto de extremidade online e a implantação do Kubernetes. is_migration=True|False, compute_target=.

Exceções