AksWebservice Klas

Vertegenwoordigt een machine learning-model dat is geïmplementeerd als een webservice-eindpunt op Azure Kubernetes Service.

Een geïmplementeerde service wordt gemaakt op basis van een model, script en bijbehorende bestanden. De resulterende webservice is een HTTP-eindpunt met gelijke taakverdeling met een REST API. U kunt gegevens naar deze API verzenden en de voorspelling ontvangen die door het model wordt geretourneerd.

AksWebservice implementeert één service op één eindpunt. Als u meerdere services op één eindpunt wilt implementeren, gebruikt u de AksEndpoint klasse .

Zie Een model implementeren in een Azure Kubernetes Service cluster voor meer informatie.

Initialiseer het webservice-exemplaar.

De webserviceconstructor haalt een cloudweergave op van een webserviceobject dat is gekoppeld aan de opgegeven werkruimte. Er wordt een exemplaar van een onderliggende klasse geretourneerd die overeenkomt met het specifieke type van het opgehaalde webserviceobject.

Overname
AksWebservice

Constructor

AksWebservice(workspace, name)

Parameters

workspace
Workspace
Vereist

Het werkruimteobject met het webserviceobject dat moet worden opgehaald.

name
str
Vereist

De naam van het webserviceobject dat moet worden opgehaald.

Opmerkingen

Het aanbevolen implementatiepatroon is om een implementatieconfiguratieobject te maken met de deploy_configuration methode en dit vervolgens te gebruiken met de deploy methode van de Model klasse, zoals hieronder wordt weergegeven.


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

Volledig voorbeeld is beschikbaar via https://github.com/Azure/MachineLearningNotebooks/blob/master/how-to-use-azureml/deployment/production-deploy-to-aks/production-deploy-to-aks.ipynb

Er zijn een aantal manieren om een model als webservice te implementeren, waaronder met de:

  • deploy van de Model for-modellen die al zijn geregistreerd in de werkruimte.

  • deploy_from_image methode van Webservice.

  • deploy_from_model methode van Webservice voor modellen die al zijn geregistreerd in de werkruimte. Met deze methode wordt een installatiekopieën gemaakt.

  • deploy van de Webservice, waarmee een model wordt geregistreerd en een installatiekopieën worden gemaakt.

Zie voor meer informatie over het werken met webservices

De sectie Variabelen bevat kenmerken van een lokale weergave van het cloud-AksWebservice-object. Deze variabelen moeten worden beschouwd als alleen-lezen. Het wijzigen van de waarden wordt niet weergegeven in het bijbehorende cloudobject.

Variabelen

enable_app_insights
bool

Of AppInsights-logboekregistratie is ingeschakeld voor de webservice.

autoscaler
AutoScaler

Het object Autoscaler voor de webservice.

compute_name
str

De naam van de ComputeTarget waarop de webservice is geïmplementeerd.

container_resource_requirements
ContainerResourceRequirements

De resourcevereisten voor de container voor de webservice.

liveness_probe_requirements
LivenessProbeRequirements

De vereisten voor de statustest voor de webservice.

data_collection
DataCollection

Het DataCollection-object voor de webservice.

max_concurrent_requests_per_container
int

Het maximum aantal gelijktijdige aanvragen per container voor de webservice.

max_request_wait_time
int

De maximale wachttijd voor aanvragen voor de webservice, in milliseconden.

num_replicas
int

Het aantal replica's voor de webservice. Elke replica komt overeen met een AKS-pod.

scoring_timeout_ms
int

De time-out voor scores voor de webservice, in milliseconden.

azureml.core.webservice.AksWebservice.scoring_uri
str

Het score-eindpunt voor de webservice

is_default
bool

Als de webservice de standaardversie is voor het bovenliggende AksEndpoint.

traffic_percentile
int

Welk percentage verkeer moet worden gerouteerd naar de webservice in het bovenliggende AksEndpoint.

version_type
VersionType

Het versietype voor de webservice in het bovenliggende AksEndpoint.

token_auth_enabled
bool

Of tokenverificatie is ingeschakeld voor de webservice.

environment
Environment

Het omgevingsobject dat is gebruikt om de webservice te maken.

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

Een lijst met modellen die zijn geïmplementeerd in de webservice.

deployment_status
str

De implementatiestatus van de webservice.

namespace
str

De AKS-naamruimte van de webservice.

azureml.core.webservice.AksWebservice.swagger_uri
str

Het swagger-eindpunt voor de webservice.

Methoden

add_properties

Sleutelwaardeparen toevoegen aan de woordenlijst met eigenschappen van deze webservice.

add_tags

Voeg sleutelwaardeparen toe aan de woordenlijst met tags van deze webservice.

Verhoogt een WebserviceException.

deploy_configuration

Maak een configuratieobject voor implementatie naar een AKS-rekendoel.

get_access_token

Verificatietoken voor deze webservice ophalen.

get_token

AFGEKEURD. Gebruik get_access_token in plaats daarvan de methode.

Verificatietoken voor deze webservice ophalen.

remove_tags

Verwijder de opgegeven sleutels uit de woordenlijst met tags van deze webservice.

run

Roep deze webservice aan met de opgegeven invoer.

serialize

Converteer deze webservice naar een geserialiseerde JSON-woordenlijst.

update

Werk de webservice bij met de opgegeven eigenschappen.

Waarden die als Geen zijn opgegeven, blijven ongewijzigd in deze webservice.

add_properties

Sleutelwaardeparen toevoegen aan de woordenlijst met eigenschappen van deze webservice.

add_properties(properties)

Parameters

properties
dict[str, str]
Vereist

De woordenlijst met eigenschappen die u wilt toevoegen.

add_tags

Voeg sleutelwaardeparen toe aan de woordenlijst met tags van deze webservice.

Verhoogt een WebserviceException.

add_tags(tags)

Parameters

tags
dict[str, str]
Vereist

De woordenlijst met tags die u wilt toevoegen.

Uitzonderingen

deploy_configuration

Maak een configuratieobject voor implementatie naar een AKS-rekendoel.

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)

Parameters

autoscale_enabled
bool
standaardwaarde: None

Of automatisch schalen voor deze webservice al dan niet moet worden ingeschakeld. De standaardwaarde is Waar als num_replicas Geen is.

autoscale_min_replicas
int
standaardwaarde: None

Het minimale aantal containers dat moet worden gebruikt bij het automatisch schalen van deze webservice. Standaardwaarde is 1.

autoscale_max_replicas
int
standaardwaarde: None

Het maximum aantal containers dat moet worden gebruikt bij het automatisch schalen van deze webservice. De standaardwaarde is 10.

autoscale_refresh_seconds
int
standaardwaarde: None

Hoe vaak de automatische schaalaanpassing moet proberen deze webservice te schalen. Standaardwaarde is 1.

autoscale_target_utilization
int
standaardwaarde: None

Het doelgebruik (in procent van 100) dat de automatische schaalaanpassing voor deze webservice moet onderhouden. De standaardwaarde is 70.

collect_model_data
bool
standaardwaarde: None

Of het verzamelen van modelgegevens voor deze webservice al dan niet moet worden ingeschakeld. Standaard ingesteld op False.

auth_enabled
bool
standaardwaarde: None

Of sleutelverificatie voor deze webservice al dan niet moet worden ingeschakeld. De standaardwaarde is Waar.

cpu_cores
float
standaardwaarde: None

Het aantal CPU-kernen dat moet worden toegewezen voor deze webservice. Kan een decimaal getal zijn. De standaardwaarde is 0.1. Komt overeen met de pod core-aanvraag in Azure Kubernetes Service, niet met de limiet.

memory_gb
float
standaardwaarde: None

De hoeveelheid geheugen (in GB) die voor deze webservice moet worden toegewezen. Kan een decimaal getal zijn. De standaardwaarde is 0,5. Komt overeen met de aanvraag voor podgeheugen in Azure Kubernetes Service, niet met de limiet.

enable_app_insights
bool
standaardwaarde: None

Of u Application Insights-logboekregistratie wilt inschakelen voor deze webservice. Standaard ingesteld op False.

scoring_timeout_ms
int
standaardwaarde: None

Een time-out die moet worden afgedwongen voor score-aanroepen naar deze webservice. De standaardwaarde is 60000.

replica_max_concurrent_requests
int
standaardwaarde: None

Het aantal maximale gelijktijdige aanvragen per replica dat deze webservice toestaat. Standaardwaarde is 1. Wijzig deze instelling niet van de standaardwaarde 1, tenzij u hiervoor instructies krijgt van de technische ondersteuning van Microsoft of een lid van het Azure Machine Learning-team.

max_request_wait_time
int
standaardwaarde: None

De maximale hoeveelheid tijd die een aanvraag in de wachtrij blijft (in milliseconden) voordat een fout van 503 wordt geretourneerd. De standaardwaarde is 500.

num_replicas
int
standaardwaarde: None

Het aantal containers dat voor deze webservice moet worden toegewezen. Geen standaardwaarde, als deze parameter niet is ingesteld, is automatische schaalaanpassing standaard ingeschakeld.

primary_key
str
standaardwaarde: None

Een primaire verificatiesleutel die moet worden gebruikt voor deze webservice.

secondary_key
str
standaardwaarde: None

Een secundaire verificatiesleutel die moet worden gebruikt voor deze webservice.

tags
dict[str, str]
standaardwaarde: None

Woordenlijst met sleutelwaardelabels voor deze webservice.

properties
dict[str, str]
standaardwaarde: None

Woordenlijst met sleutelwaarde-eigenschappen voor deze webservice. Deze eigenschappen kunnen niet worden gewijzigd na de implementatie, maar er kunnen wel nieuwe sleutelwaardeparen worden toegevoegd.

description
str
standaardwaarde: None

Een beschrijving voor deze webservice.

gpu_cores
int
standaardwaarde: None

Het aantal GPU-kernen dat voor deze webservice moet worden toegewezen. De standaardwaarde is 0.

period_seconds
int
standaardwaarde: None

Hoe vaak (in seconden) de activiteitstest moet worden uitgevoerd. De standaardwaarde is 10 seconden. Minimumwaarde is 1.

initial_delay_seconds
int
standaardwaarde: None

Het aantal seconden nadat de container is gestart voordat de activiteitstests worden gestart. De standaardwaarde is 310.

timeout_seconds
int
standaardwaarde: None

Het aantal seconden waarna er een time-out optreedt voor de liveness-test. De standaardwaarde is 2 seconden. Minimumwaarde is 1.

success_threshold
int
standaardwaarde: None

De minimale opeenvolgende successen voor de liveness-test om als geslaagd te worden beschouwd nadat deze is mislukt. Standaardwaarde is 1. Minimumwaarde is 1.

failure_threshold
int
standaardwaarde: None

Wanneer een pod wordt gestart en de activiteitstest mislukt, probeert Kubernetes failureThreshold keer voordat hij stopt. Standaardwaarde is 3. Minimumwaarde is 1.

namespace
str
standaardwaarde: None

De Kubernetes-naamruimte waarin deze webservice moet worden geïmplementeerd: maximaal 63 kleine alfanumerieke tekens ('a'-'z', '0'-'9') en afbreekstreepjes ('-'). De eerste en laatste tekens mogen geen afbreekstreepjes zijn.

token_auth_enabled
bool
standaardwaarde: None

Of tokenverificatie voor deze webservice moet worden ingeschakeld. Als dit is ingeschakeld, hebben gebruikers toegang tot deze webservice door een toegangstoken op te halen met behulp van hun Azure Active Directory-referenties. Standaard ingesteld op False.

compute_target_name
str
standaardwaarde: None

De naam van het rekendoel voor implementatie

cpu_cores_limit
float
standaardwaarde: None

Het maximum aantal CPU-kernen dat deze webservice mag gebruiken. Kan een decimaal getal zijn.

memory_gb_limit
float
standaardwaarde: None

De maximale hoeveelheid geheugen (in GB) die deze webservice mag gebruiken. Kan een decimaal getal zijn.

blobfuse_enabled
bool
standaardwaarde: None

Of u blobfuse wilt inschakelen voor het downloaden van modellen voor deze webservice. De standaardwaarde is True

Retouren

Een configuratieobject dat moet worden gebruikt bij het implementeren van een AksWebservice.

Retourtype

Uitzonderingen

get_access_token

Verificatietoken voor deze webservice ophalen.

get_access_token()

Retouren

Een object dat het verificatietoken voor deze webservice beschrijft.

Retourtype

Uitzonderingen

get_token

AFGEKEURD. Gebruik get_access_token in plaats daarvan de methode.

Verificatietoken voor deze webservice ophalen.

get_token()

Retouren

Het verificatietoken voor deze webservice en wanneer moet worden vernieuwd.

Retourtype

Uitzonderingen

remove_tags

Verwijder de opgegeven sleutels uit de woordenlijst met tags van deze webservice.

remove_tags(tags)

Parameters

tags
list[str]
Vereist

De lijst met sleutels die u wilt verwijderen

run

Roep deze webservice aan met de opgegeven invoer.

run(input_data)

Parameters

input_data
<xref:varies>
Vereist

De invoer voor het aanroepen van de webservice met

Retouren

Het resultaat van het aanroepen van de webservice

Retourtype

Uitzonderingen

serialize

Converteer deze webservice naar een geserialiseerde JSON-woordenlijst.

serialize()

Retouren

De JSON-weergave van deze webservice.

Retourtype

update

Werk de webservice bij met de opgegeven eigenschappen.

Waarden die als Geen zijn opgegeven, blijven ongewijzigd in deze webservice.

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)

Parameters

image
Image
standaardwaarde: None

Een nieuwe installatiekopieën voor implementatie in de webservice

autoscale_enabled
bool
standaardwaarde: None

Automatisch schalen van deze webservice in- of uitschakelen

autoscale_min_replicas
int
standaardwaarde: None

Het minimale aantal containers dat moet worden gebruikt bij het automatisch schalen van deze webservice

autoscale_max_replicas
int
standaardwaarde: None

Het maximum aantal containers dat moet worden gebruikt bij het automatisch schalen van deze webservice

autoscale_refresh_seconds
int
standaardwaarde: None

Hoe vaak de automatische schaalaanpassing moet proberen deze webservice te schalen

autoscale_target_utilization
int
standaardwaarde: None

Het doelgebruik (in procent van 100) dat de automatische schaalaanpassing moet proberen te onderhouden voor deze webservice

collect_model_data
bool
standaardwaarde: None

Het verzamelen van modelgegevens voor deze webservice in- of uitschakelen

auth_enabled
bool
standaardwaarde: None

Verificatie inschakelen voor deze webservice

cpu_cores
float
standaardwaarde: None

Het aantal CPU-kernen dat moet worden toegewezen voor deze webservice. Kan een decimaal zijn

memory_gb
float
standaardwaarde: None

De hoeveelheid geheugen (in GB) die voor deze webservice moet worden toegewezen. Kan een decimaal zijn

enable_app_insights
bool
standaardwaarde: None

Application Insights-logboekregistratie inschakelen voor deze webservice

scoring_timeout_ms
int
standaardwaarde: None

Een time-out die moet worden afgedwongen voor score-aanroepen naar deze webservice

replica_max_concurrent_requests
int
standaardwaarde: None

Het aantal maximale gelijktijdige aanvragen per replica dat deze webservice toestaat.

max_request_wait_time
int
standaardwaarde: None

De maximale hoeveelheid tijd die een aanvraag in de wachtrij blijft (in milliseconden) voordat een fout van 503 wordt geretourneerd

num_replicas
int
standaardwaarde: None

Het aantal containers dat voor deze webservice moet worden toegewezen

tags
dict[str, str]
standaardwaarde: None

Woordenlijst met sleutelwaardetags voor deze webservice. Vervangt bestaande tags.

properties
dict[str, str]
standaardwaarde: None

Woordenlijst met sleutelwaarde-eigenschappen die moeten worden toegevoegd aan bestaande eigenschappenwoordenlijst

description
str
standaardwaarde: None

Een beschrijving voor deze webservice

models
list[Model]
standaardwaarde: None

Een lijst met modelobjecten die moeten worden verpakt met de bijgewerkte service

inference_config
InferenceConfig
standaardwaarde: None

Een InferenceConfig-object dat wordt gebruikt om de vereiste eigenschappen voor modelimplementatie te bieden.

gpu_cores
int
standaardwaarde: None

Het aantal GPU-kernen dat voor deze webservice moet worden toegewezen

period_seconds
int
standaardwaarde: None

Hoe vaak (in seconden) de activiteitstest moet worden uitgevoerd. De standaardwaarde is 10 seconden. Minimumwaarde is 1.

initial_delay_seconds
int
standaardwaarde: None

Aantal seconden nadat de container is gestart voordat de activiteitstests worden gestart.

timeout_seconds
int
standaardwaarde: None

Het aantal seconden waarna er een time-out optreedt voor de activiteitstest. De standaardinstelling is 1 seconde. Minimumwaarde is 1.

success_threshold
int
standaardwaarde: None

De minimale opeenvolgende successen voor de activiteitstest voordat de test succesvol of mislukt is. Standaardwaarde is 1. Minimumwaarde is 1.

failure_threshold
int
standaardwaarde: None

Wanneer een pod wordt gestart en de activiteitstest mislukt, probeert Kubernetes failureThreshold keer voordat hij stopt. Standaardwaarde is 3. Minimumwaarde is 1.

namespace
str
standaardwaarde: None

De Kubernetes-naamruimte waarin deze webservice moet worden geïmplementeerd: maximaal 63 kleine alfanumerieke tekens ('a'-'z', '0'-'9') en afbreekstreepjes ('-'). De eerste en laatste tekens mogen geen afbreekstreepjes zijn.

token_auth_enabled
bool
standaardwaarde: None

Of tokenverificatie voor deze webservice moet worden ingeschakeld. Als dit is ingeschakeld, hebben gebruikers toegang tot deze webservice door het toegangstoken op te halen met behulp van hun Azure Active Directory-referenties. Standaard ingesteld op False.

cpu_cores_limit
float
standaardwaarde: None

Het maximum aantal CPU-kernen dat deze webservice mag gebruiken. Kan een decimaal getal zijn.

memory_gb_limit
float
standaardwaarde: None

De maximale hoeveelheid geheugen (in GB) die deze webservice mag gebruiken. Kan een decimaal getal zijn.

kwargs
<xref:varies>
Vereist

params opnemen ter ondersteuning van het migreren van de AKS-webservice naar het online-eindpunt en de implementatie van Kubernetes. is_migration=Waar| False, compute_target=.

Uitzonderingen