Classe MLServer
MLServer
azureml.deploy.server.MLServer
Bases: azureml.deploy.operationalization.Operationalization
Este módulo fornece uma implementação de serviço para o ML Server.
autenticação
authentication(context)
Observação
Embora o Microsoft Entra ID seja o novo nome do Azure Active Directory (Azure AD), para evitar a interrupção de ambientes existentes, o Azure AD ainda permanecerá em alguns elementos codificados, como campos de interface do usuário, provedores de conexão, códigos de erro e cmdlets. Neste artigo, os dois nomes são intercambiáveis.
Override
Método de ciclo de vida de autenticação chamado pela estrutura. Invoca o ponto de entrada de autenticação para a hierarquia de classe.
O ML Server dá suporte a duas formas de contextos de autenticação:
LDAP: tupla (nome de usuário, senha)
AAD (Azure Active Directory): dict {...}
access-token: str =4534535
Argumentos
contexto
O contexto de autenticação: LDAP, AAD (Azure Active Directory) ou cadeia de caracteres de token de acesso existente.
HttpException
Se uma falha de HTTP ocorreu ao chamar o ML Server.
create_or_update_service_pool
create_or_update_service_pool(name, version, initial_pool_size, max_pool_size, **opts)
Cria ou atualiza o pool para o serviço Web publicado, com os tamanhos de pool inicial e máximo fornecidos no ML Server por name e version.
Exemplo:
>>> client.create_or_update_service_pool(
'regression',
version = 'v1.0.0',
initial_pool_size = 1,
maximum_pool_size = 10)
<Response [200]>
>>>
Argumentos
name
O nome exclusivo do serviço Web.
version
A versão do serviço Web.
initial_pool_size
O tamanho inicial do pool para o serviço Web.
max_pool_size
O tamanho máximo do pool para o serviço Web. Ele não pode ser menor que initial_pool_size.
Retornos
requests.models.Response: status HTTP indicando se a solicitação foi enviada com êxito ou não.
HttpException
Se uma falha de HTTP ocorreu ao chamar o ML Server.
delete_service
delete_service(name, **opts)
Excluir um serviço Web.
success = client.delete_service('example', version='v1.0.1')
print(success)
True
Argumentos
name
O nome do serviço Web.
opts
A versão do serviço Web (versão='v1.0.1).
Retornos
Um bool
indicando que a exclusão do serviço foi bem-sucedida.
HttpException
Se uma falha de HTTP ocorreu ao chamar o ML Server.
delete_service_pool
delete_service_pool(name, version, **opts)
Exclua o pool para o serviço Web publicado no ML Server por name e version.
Exemplo:
>>> client.delete_service_pool('regression', version = 'v1.0.0')
<Response [200]>
>>>
Argumentos
name
O nome exclusivo do serviço Web.
version
A versão do serviço Web.
Retornos
requests.models.Response: status HTTP se o pool foi excluído para o serviço.
HttpException
Se uma falha de HTTP ocorreu ao chamar o ML Server.
deploy_realtime
deploy_realtime(name, **opts)
Publique um novo serviço Web em tempo real no ML Server por name e version.
Todos os tipos de entrada e saída são definidos como um pandas.DataFrame
.
Exemplo:
model = rx_serialize_model(model, realtime_scoring_only=True)
opts = {
'version': 'v1.0.0',
'description': 'Real-time service description.',
'serialized_model': model
}
service = client.deploy_realtime('scoring', **opts)
df = movie_reviews.as_df()
res = service.consume(df)
answer = res.outputs
Observação
O uso de deploy_realtime () dessa maneira é idêntico à publicação de um serviço usando as APIs fluentes deploy()
Argumentos
name
O nome do serviço Web.
opts
As propriedades do serviço a serem publicadas como um dict
. opts dá suporte às seguintes propriedades opcionais:
version (str) – define uma versão alfanumérica exclusiva do serviço Web. Se a versão for deixada em branco, um GUID exclusivo será gerado em seu lugar. Útil durante o desenvolvimento do serviço antes que o autor esteja pronto para publicar oficialmente uma versão semântica para compartilhamento.
description (str) – a descrição do serviço.
alias (str) – o nome da função de consumo. O padrão é consume.
Retornos
Uma nova instância do Service
que representa o serviço em tempo real reimplantado.
HttpException
Se uma falha de HTTP ocorreu ao chamar o ML Server.
deploy_service
deploy_service(name, **opts)
Publique um novo serviço Web no ML Server por name e version.
Exemplo:
opts = {
'version': 'v1.0.0',
'description': 'Service description.',
'code_fn': run,
'init_fn': init,
'objects': {'local_obj': 50},
'models': {'model': 100},
'inputs': {'x': int},
'outputs': {'answer': float},
'artifacts': ['histogram.png'],
'alias': 'consume_service_fn_alias'
}
service = client.deploy('regression', **opts)
res = service.consume_service_fn_alias(100)
answer = res.output('answer')
histogram = res.artifact('histogram.png')
Observação
Usar deploy_service()
dessa maneira é idêntico à publicação de um serviço usando as APIs fluentes deploy()
.
Argumentos
name
O nome exclusivo do serviço Web.
opts
As propriedades do serviço a serem publicadas. O dict opts dá suporte às seguintes propriedades opcionais:
version (str) – define uma versão alfanumérica exclusiva do serviço Web. Se a versão for deixada em branco, um GUID exclusivo será gerado em seu lugar. Útil durante o desenvolvimento do serviço antes que o autor esteja pronto para publicar oficialmente uma versão semântica para compartilhamento.
description (str) – a descrição do serviço.
code_str (str) – um bloco de código Python a ser executado e avaliado.
init_str (str) – um bloco de código Python para inicializar o serviço.
code_fn (function) – uma função a ser executada e avaliada.
init_fn (function) – uma função para inicializar o serviço.
objects (dict) – nome e valor dos objetos a serem incluídos.
models (dict) – nome e valor dos modelos a serem incluídos.
inputs (dict) – esquema de entrada do serviço por nome e tipo. Os seguintes tipos têm suporte:
INT
FLOAT
str
bool
numpy.array
numpy.matrix
pandas.DataFrame
outputs (dict) – define o esquema de saída do serviço Web. Se estiver vazio, o serviço não retornará um valor de resposta. As outputs são definidas como um dicionário
{'x'=int}
ou{'x': 'int'}
que descreve os nomes dos parâmetros de saída e seus tipos de dados correspondentes. Os seguintes tipos têm suporte:INT
FLOAT
str
bool
numpy.array
numpy.matrix
pandas.DataFrame
artifacts (list) – uma coleção de artefatos de arquivo a ser retornada. O conteúdo do arquivo é codificado como uma Cadeia de caracteres em Base64.
alias (str) – o nome da função de consumo. O padrão é consume. Se a função code_fn for fornecida, ela usará esse nome de função por padrão.
Retornos
Uma nova instância do Service
que representa o serviço implantado.
HttpException
Se uma falha de HTTP ocorreu ao chamar o ML Server.
destruidor
destructor()
Override
Destrói o método de ciclo de vida chamado pela estrutura. Invoca destruidores para a hierarquia de classe.
get_service
get_service(name, **opts)
Obtém um serviço Web para consumo.
service = client.get_service('example', version='v1.0.1')
print(service)
<ExampleService>
...
...
...
Argumentos
name
O nome do serviço Web.
opts
A versão opcional do serviço Web. Se version=None
, o serviço mais recente será retornado.
Retornos
Uma nova instância de Service
.
HttpException
Se uma falha de HTTP ocorreu ao chamar o ML Server.
get_service_pool_status
get_service_pool_status(name, version, **opts)
Obtém o status do pool em cada nó de computação do ML Server para os serviços publicados com o nome e aversãofornecidos.
Exemplo:
>>> client.create_or_update_service_pool(
'regression',
version = 'v1.0.0',
initial_pool_size = 5,
maximum_pool_size = 5)
<Response [200]>
>>> client.get_service_pool_status('regression', version = 'v1.0.0')
[{'computeNodeEndpoint': 'http://localhost:12805/', 'status': 'Pending'}]
>>> client.get_service_pool_status('regression', version = 'v1.0.0')
[{'computeNodeEndpoint': 'http://localhost:12805/', 'status': 'Success'}]
Argumentos
name
O nome exclusivo do serviço Web.
version
A versão do serviço Web.
Retornos
str: json que representa o status do pool em cada nó de computação para o serviço implantado.
HttpException
Se uma falha de HTTP ocorreu ao chamar o ML Server.
initializer(http_client, config, adapters=None)
Override
Método de ciclo de vida de inicialização chamado pela estrutura, invocado durante a construção. Configura os atributos e invoca os inicializadores para a hierarquia de classe.
Argumentos
http_client
A sessão de solicitação HTTP para gerenciar e persistir configurações entre solicitações (autenticação, proxies).
config
A configuração global.
adaptadores
Um dict
de adaptadores de transporte por URL.
list_services
list_services(name=None, **opts)
Lista os diferentes serviços Web publicados no ML Server.
O nome e a versão do serviço são opcionais. Essa chamada permite que você recupere informações de serviço relacionadas a:
Todos os serviços publicados
Todos os serviços com versão para um serviço nomeado específico
Uma versão específica para um serviço nomeado
Os usuários podem usar essas informações junto com a operação [get_service()](#getservice)
para interagir com o serviço Web e consumi-lo.
Exemplo:
all_services = client.list_services()
all_versions_of_add_service = client.list_services('add-service')
add_service_v1 = client.list_services('add-service', version='v1')
Argumentos
name
O nome do serviço Web.
opts
A versão opcional do serviço Web.
Retornos
Uma list
de metadados de serviço.
HttpException
Se uma falha de HTTP ocorreu ao chamar o ML Server.
realtime_service
realtime_service(name)
Comece o encadeamento da API fluente de propriedades para definir um serviço Web em tempo real.
Exemplo:
client.realtime_service('scoring')
.description('A new real-time web service')
.version('v1.0.0')
Argumentos
name
O nome do serviço Web.
Retornos
Uma instância de RealtimeDefinition
para encadeamento de API fluente.
redeploy_realtime
redeploy_realtime(name, **opts)
Atualiza as propriedades em um serviço Web em tempo real existente no Servidor por nome e versão. Se version=None
, o serviço mais recente será atualizado.
Todos os tipos de entrada e saída são definidos como um pandas.DataFrame
.
Exemplo:
model = rx_serialize_model(model, realtime_scoring_only=True)
opts = {
'version': 'v1.0.0',
'description': 'Real-time service description.',
'serialized_model': model
}
service = client.redeploy_realtime('scoring', **opts)
df = movie_reviews.as_df()
res = service.consume(df)
answer = res.outputs
Observação
Usar redeploy_realtime() dessa maneira é idêntico à atualização de um serviço usando as APIS fluentes redeploy()
Argumentos
name
O nome do serviço Web.
opts
As propriedades do serviço a serem atualizadas como um dict
. opts dá suporte às seguintes propriedades opcionais:
version (str) – define a versão do serviço Web.
description (str) – a descrição do serviço.
alias (str) – o nome da função de consumo. O padrão é consume.
Retornos
Uma nova instância do Service
que representa o serviço em tempo real reimplantado.
HttpException
Se uma falha de HTTP ocorreu ao chamar o ML Server.
redeploy_service
redeploy_service(name, **opts)
Atualiza as propriedades em um serviço Web existente no ML Server por nome e versão. Se version=None
, o serviço mais recente será atualizado.
Exemplo:
opts = {
'version': 'v1.0.0',
'description': 'Service description.',
'code_fn': run,
'init_fn': init,
'objects': {'local_obj': 50},
'models': {'model': 100},
'inputs': {'x': int},
'outputs': {'answer': float},
'artifacts': ['histogram.png'],
'alias': 'consume_service_fn_alias'
}
service = client.redeploy('regression', **opts)
res = service.consume_service_fn_alias(100)
answer = res.output('answer')
histogram = res.artifact('histogram.png')
Observação
O uso de redeploy_service() dessa maneira é idêntico à atualização de um serviço usando as APIs fluentes redeploy()
Argumentos
name
O nome do serviço Web.
opts
As propriedades do serviço a serem atualizadas como um dict
. opts dá suporte às seguintes propriedades opcionais:
version (str) – define uma versão alfanumérica exclusiva do serviço Web. Se a versão for deixada em branco, um GUID exclusivo será gerado em seu lugar. Útil durante o desenvolvimento do serviço antes que o autor esteja pronto para publicar oficialmente uma versão semântica para compartilhamento.
description (str) – a descrição do serviço.
code_str (str) – um bloco de código Python a ser executado e avaliado.
init_str (str) – um bloco de código Python para inicializar o serviço.
code_fn (function) – uma função a ser executada e avaliada.
init_fn (function) – uma função para inicializar o serviço.
objects (dict) – nome e valor dos objetos a serem incluídos.
models (dict) – nome e valor dos modelos a serem incluídos.
inputs (dict) – esquema de entrada do serviço por nome e tipo. Há suporte para os seguintes tipos: – int – float – str – bool – numpy.array – numpy.matrix – pandas.DataFrame
outputs (dict) – define o esquema de saída do serviço Web. Se estiver vazio, o serviço não retornará um valor de resposta. As outputs são definidas como um dicionário
{'x'=int}
ou{'x': 'int'}
que descreve os nomes dos parâmetros de saída e seus tipos de dados correspondentes. Há suporte para os seguintes tipos: – int – float – str – bool – numpy.array – numpy.matrix – pandas.DataFrameartifacts (list) – uma coleção de artefatos de arquivo a ser retornada. O conteúdo do arquivo é codificado como uma Cadeia de caracteres em Base64.
alias (str) – o nome da função de consumo. O padrão é consume. Se a função code_fn for fornecida, ela usará esse nome de função por padrão.
Retornos
Uma nova instância do Service
que representa o serviço implantado.
HttpException
Se uma falha de HTTP ocorreu ao chamar o ML Server.
serviço
service(name)
Inicie o encadeamento de API fluente de propriedades para definir um serviço Web padrão.
Exemplo:
client.service('scoring')
.description('A new web service')
.version('v1.0.0')
Argumentos
name
O nome do serviço Web.
Retornos
Uma instância ServiceDefinition
para encadeamento de API fluente.
Comentários
https://aka.ms/ContentUserFeedback.
Em breve: Ao longo de 2024, eliminaremos os problemas do GitHub como o mecanismo de comentários para conteúdo e o substituiremos por um novo sistema de comentários. Para obter mais informações, consulteEnviar e exibir comentários de