Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Waarschuwing
Prompt flow in Microsoft Foundry en Azure Machine Learning wordt op 20 april 2027 uitgefaseerd. Prompt flow wordt niet langer aanbevolen voor nieuwe ontwikkelingsprojecten. Migreer bestaande promptstroomtoepassingen en -implementaties naar Microsoft Agent Framework vóór 20 april 2027.
Prompt flow-containerimages worden niet langer bijgewerkt, met inbegrip van beveiligings- en pakketupdates. Dit geldt voor runtime-installatiekopieën van Prompt flow, waaronder promptflow-runtime, promptflow-runtime-stable en promptflow-python.
Na 20 april 2027 worden Prompt flow, inclusief de webauthoring-ervaring in Microsoft Foundry en Azure Machine Learning, de VS Code-extensies en bijbehorende containerinstallatiekopieën van Prompt flow, niet langer ondersteund of beschikbaar gesteld.
Als uw toepassing afhankelijk is van Prompt flow-implementaties of runtime-images, plant u om deze workloads vóór de buitengebruikstellingsdatum te migreren naar ondersteunde alternatieven, zoals Microsoft Agent Framework. Voor richtlijnen voor migratie raadpleegt u de Prompt flow-migratiehandleiding en codervoorbeelden voor migratie.
In dit artikel leert u hoe u uw stroom implementeert in een beheerd online-eindpunt of een Kubernetes online-eindpunt voor gebruik in realtime deductie met behulp van Azure Machine Learning v2 CLI.
Voordat u begint, moet u ervoor zorgen dat u uw stroom goed test en er zeker van bent dat deze gereed is om in productie te worden geïmplementeerd. Zie uw stroom testen voor meer informatie over het testen van uw stroom. Nadat u uw stroom hebt getest, leert u hoe u een beheerd online-eindpunt en -implementatie maakt en hoe u het eindpunt gebruikt voor realtime deductie.
- In dit artikel wordt beschreven hoe u de CLI-ervaring gebruikt.
- De Python SDK wordt niet behandeld in dit artikel. Zie in plaats daarvan het GitHub voorbeeldnotitieblok. Als u de Python SDK wilt gebruiken, moet u de Python SDK v2 voor Azure Machine Learning hebben. Zie Install the Python SDK v2 for Azure Machine Learning voor meer informatie.
Belangrijk
Items die in dit artikel zijn gemarkeerd (preview) zijn momenteel beschikbaar als openbare preview. De preview-versie wordt geleverd zonder service level agreement en wordt niet aanbevolen voor productieworkloads. Bepaalde functies worden mogelijk niet ondersteund of hebben mogelijk beperkte mogelijkheden. Zie Aanvullende gebruiksvoorwaarden voor Microsoft Azure previews voor meer informatie.
Voorwaarden
- De Azure CLI en de Azure Machine Learning-extensie voor de Azure CLI. Zie De CLI (v2) installeren, instellen en gebruiken voor meer informatie.
- Een Azure Machine Learning werkruimte. Als u er nog geen hebt, gebruikt u de stappen in de quickstart: artikel Werkruimtebronnen maken om er een te maken.
- Azure op rollen gebaseerd toegangsbeheer (Azure RBAC) worden gebruikt om toegang te verlenen tot bewerkingen in Azure Machine Learning. Als u de stappen in dit artikel wilt uitvoeren, moet aan uw gebruikersaccount de rol 'eigenaar' of 'medewerker' worden toegewezen voor de Azure Machine Learning Workspace, of aan een aangepaste rol die "Microsoft.MachineLearningServices/workspaces/onlineEndpoints/" toestaat. Als u Studio gebruikt om online-eindpunten en implementaties te maken en te beheren, hebt u nog een andere machtiging nodig, namelijk 'Microsoft.Resources/deployments/write', van de eigenaar van de resourcegroep. Zie Toegang tot een Azure Machine Learning-werkruimte voor meer informatie.
Opmerking
Het beheerde online-eindpunt ondersteunt alleen het beheerde virtuele netwerk. Als uw werkruimte zich in een aangepast virtueel netwerk bevindt, kunt u het online-eindpunt van Kubernetes implementeren of implementeren op andere platforms, zoals Docker.
Quotumtoewijzing voor virtuele machines voor implementatie
Voor beheerde online-eindpunten reserveert Azure Machine Learning 20% van uw rekenresources voor het uitvoeren van upgrades. Daarom, als u een opgegeven aantal instanties in een implementatie aanvraagt, moet er een beschikbaar quotum van ceil(1.2 * number of instances requested for deployment) * number of cores for the VM SKU zijn om een fout te voorkomen. Als u bijvoorbeeld 10 exemplaren van een Standard_DS3_v2 VM aanvraagt (die wordt geleverd met vier kernen) in een implementatie, moet u een quotum hebben voor 48 kernen (12 exemplaren van vier kernen) beschikbaar.
Bekijk uw gebruik en quota in de Azure-portal om uw gebruik te bekijken en quotumverhogingen aan te vragen.
De stroom voorbereiden voor implementatie
Elke stroom heeft een map die codes, prompts, definities en andere artefacten van de stroom bevat. Als u uw flow ontwikkelt met behulp van de UI, kunt u de flowmap downloaden vanaf de detailpagina van de flow. Als u uw flow ontwikkelt met de CLI of SDK, hebt u de flowmap al.
In dit artikel wordt de voorbeeldstroom "basic-chat" gebruikt als voorbeeld voor implementatie naar het Azure Machine Learning beheerd online eindpunt.
Belangrijk
Als u additional_includes in uw stroom gebruikt, gebruikt u eerst pf flow build --source <path-to-flow> --output <output-path> --format docker om een omgezette versie van de flowmap op te halen.
Standaardwerkruimte instellen
Gebruik de volgende opdrachten om de standaardwerkruimte en resourcegroep voor de CLI in te stellen.
az account set --subscription <subscription ID>
az configure --defaults workspace=<Azure Machine Learning workspace name> group=<resource group>
De stroom registreren als een model (optioneel)
In de onlineimplementatie kunt u inline verwijzen naar een geregistreerd model of het modelpad opgeven (waar u de modelbestanden vandaan wilt uploaden). Registreer het model en geef de modelnaam en versie op in de implementatiedefinitie. Gebruik het formulier model:<model_name>:<version>.
In het volgende voorbeeld ziet u een modeldefinitie voor een chatstroom.
Opmerking
Als uw flow geen chatflow is, hoeft u properties niet toe te voegen.
$schema: https://azuremlschemas.azureedge.net/latest/model.schema.json
name: basic-chat-model
path: ../../../../examples/flows/chat/basic-chat
description: register basic chat flow folder as a custom model
properties:
# In Azure Machine Learning studio, the endpoint Test tab uses this property to identify a prompt flow
azureml.promptflow.source_flow_id: basic-chat
# Following are properties only for chat flow
# endpoint detail UI Test tab needs this property to know it's a chat flow
azureml.promptflow.mode: chat
# endpoint detail UI Test tab needs this property to know which is the input column for chat flow
azureml.promptflow.chat_input: question
# endpoint detail UI Test tab needs this property to know which is the output column for chat flow
azureml.promptflow.chat_output: answer
Gebruik az ml model create --file model.yaml om het model bij uw werkruimte te registreren.
Het eindpunt definiëren
Als u een eindpunt wilt definiëren, geeft u de volgende waarden op:
- Eindpuntnaam: de naam van het eindpunt. Deze moet uniek zijn in de Azure regio. Zie eindpuntlimieten voor meer informatie over de naamgevingsregels.
- Verificatiemodus: de verificatiemethode voor het eindpunt. Kies tussen verificatie op basis van sleutels en Azure Machine Learning verificatie op basis van tokens. Een sleutel verloopt niet, maar een token verloopt wel. Zie Verifiëren bij een online-eindpunt voor meer informatie over verificatie.
- Voeg eventueel een beschrijving en tags toe aan uw eindpunt.
- Als u een Kubernetes-cluster (AKS- of Arc-cluster) wilt implementeren dat u aan uw werkruimte koppelt, kunt u de stroom implementeren als een Online-eindpunt van Kubernetes.
In het volgende voorbeeld ziet u een eindpuntdefinitie die standaard gebruikmaakt van door het systeem toegewezen identiteit.
$schema: https://azuremlschemas.azureedge.net/latest/managedOnlineEndpoint.schema.json
name: basic-chat-endpoint
auth_mode: key
properties:
# this property only works for system-assigned identity.
# if the deploy user has access to connection secrets,
# the endpoint system-assigned identity will be auto-assigned connection secrets reader role as well
enforce_access_to_default_secret_stores: enabled
| Sleutel | Beschrijving |
|---|---|
$schema |
(Optioneel) Het YAML-schema. Als u alle beschikbare opties in het YAML-bestand wilt zien, kunt u het schema bekijken in het voorgaande codefragment in een browser. |
name |
De naam van het eindpunt. |
auth_mode |
Gebruiken key voor verificatie op basis van sleutels. Gebruik aml_token voor verificatie op basis van Azure Machine Learning token. Gebruik de az ml online-endpoint get-credentials opdracht om het meest recente token op te halen. |
property: enforce_access_to_default_secret_stores (voorbeeld) |
- Het eindpunt maakt standaard gebruik van door het systeem toegewezen identiteit. Deze eigenschap werkt alleen voor door het systeem toegewezen identiteit. - Als u de machtiging Lezer van verbindingsgeheimen hebt, wordt aan de door het eindpunt toegewezen systeemidentiteit automatisch de rol Azure Machine Learning Workspace Connection Secrets Reader voor de werkruimte toegewezen, zodat het eindpunt tijdens het uitvoeren van inferentie correct toegang heeft tot verbindingen. - Standaard is deze eigenschap disabled. |
Als u een Kubernetes-online-eindpunt maakt, moet u de volgende kenmerken opgeven:
| Sleutel | Beschrijving |
|---|---|
compute |
Het Kubernetes-berekeningsdoel om het eindpunt naar uit te rollen. |
Zie het beheerde online-eindpuntschema voor meer configuraties van eindpunten.
Belangrijk
Als uw stroom gebruikmaakt van Microsoft Entra ID gebaseerde verificatieverbindingen, ongeacht of u een door het systeem toegewezen identiteit of door de gebruiker toegewezen identiteit gebruikt, moet u altijd de juiste rollen voor de beheerde identiteit van de bijbehorende resources verlenen, zodat deze API-aanroepen naar die resource kan uitvoeren. Als uw Azure OpenAI-verbinding bijvoorbeeld gebruikmaakt van verificatie gebaseerd op Microsoft Entra ID, moet u aan de beheerde identiteit van uw eindpunt de rol Cognitive Services OpenAI User of Cognitive Services OpenAI Contributor verlenen voor de bijbehorende Azure OpenAI-resources.
Door de gebruiker toegewezen identiteit gebruiken
Wanneer u een online-eindpunt maakt, genereert het systeem automatisch een door het systeem toegewezen beheerde identiteit voor u. U kunt ook een bestaande door de gebruiker toegewezen beheerde identiteit voor het eindpunt opgeven.
Als u een door de gebruiker toegewezen identiteit wilt gebruiken, geeft u de volgende kenmerken op in het endpoint.yaml bestand:
identity:
type: user_assigned
user_assigned_identities:
- resource_id: user_identity_ARM_id_place_holder
Geef ook de Client ID van de door de gebruiker toegewezen identiteit op onder environment_variables in het bestand deployment.yaml, zoals in het volgende voorbeeld. U vindt de Client ID in de Overview beheerde identiteit in de Azure-portal.
environment_variables:
AZURE_CLIENT_ID: <client_id_of_your_user_assigned_identity>
Belangrijk
U moet de volgende machtigingen verlenen aan de door de gebruiker toegewezen identiteit voordat u het eindpunt maakt, zodat het toegang heeft tot de Azure resources om deductie uit te voeren. Zie voor meer informatie hoe u machtigingen kunt verlenen aan uw eindpuntidentiteit.
| Scope | Rol | Waarom het nodig is |
|---|---|---|
| Azure Machine Learning werkruimte | Azure Machine Learning Reader voor verbindingsgeheimen voor werkruimte rol OR een aangepaste rol met 'Microsoft. MachineLearningServices/workspaces/connections/listsecrets/action" | Werkruimteverbindingen ophalen |
| Werkruimtecontainerregister | ACR ophalen | Containerimage ophalen |
| Standaardopslag voor werkruimte | Opslagblobgegevenslezer | Model laden vanuit opslag |
| (Optioneel) Azure Machine Learning werkruimte | Schrijver voor metrische gegevens van werkruimte | Nadat u het eindpunt hebt geïmplementeerd, moet u deze machtiging verlenen aan de identiteit als u de metrische gegevens van het eindpunt wilt bewaken, zoals CPU/GPU/Schijf/Geheugengebruik. |
De implementatie definiëren
Een implementatie is een set resources die vereist is voor het hosten van het model dat de werkelijke deductie uitvoert.
In het volgende voorbeeld ziet u een implementatiedefinitie. De model sectie verwijst naar het geregistreerde stroommodel. U kunt ook het pad van het stroommodel in lijn opgeven.
$schema: https://azuremlschemas.azureedge.net/latest/managedOnlineDeployment.schema.json
name: blue
endpoint_name: basic-chat-endpoint
model: azureml:basic-chat-model:1
# You can also specify model files path inline
# path: examples/flows/chat/basic-chat
environment:
image: mcr.microsoft.com/azureml/promptflow/promptflow-runtime:latest
# inference config is used to build a serving container for online deployments
inference_config:
liveness_route:
path: /health
port: 8080
readiness_route:
path: /health
port: 8080
scoring_route:
path: /score
port: 8080
instance_type: Standard_E16s_v3
instance_count: 1
environment_variables:
# for pulling connections from workspace
PRT_CONFIG_OVERRIDE: deployment.subscription_id=<subscription_id>,deployment.resource_group=<resource_group>,deployment.workspace_name=<workspace_name>,deployment.endpoint_name=<endpoint_name>,deployment.deployment_name=<deployment_name>
# (Optional) When there are multiple fields in the response, using this env variable will filter the fields to expose in the response.
# For example, if there are 2 flow outputs: "answer", "context", and I only want to have "answer" in the endpoint response, I can set this env variable to '["answer"]'.
# If you don't set this environment, by default all flow outputs will be included in the endpoint response.
# PROMPTFLOW_RESPONSE_INCLUDED_FIELDS: '["category", "evidence"]'
| Kenmerk | Beschrijving |
|---|---|
| Naam | De naam van de implementatie. |
| Eindpuntnaam | De naam van het eindpunt waaronder de implementatie moet worden gemaakt. |
| Model | Het model dat moet worden gebruikt voor de implementatie. Deze waarde kan een verwijzing zijn naar een bestaand versiemodel in de werkruimte of een inline modelspecificatie. |
| Milieu | De omgeving voor het hosten van het model en de code. Het bevat: - image- inference_config: wordt gebruikt voor het bouwen van een servercontainer voor online implementaties, waaronder liveness route, readiness_routeen scoring_route . |
| Exemplaartype | De VM-grootte die moet worden gebruikt voor de implementatie. Zie de lijst met beheerde online-eindpunten voor SKU's voor de lijst met ondersteunde grootten. |
| Aantal exemplaren | Het aantal exemplaren dat moet worden gebruikt voor de implementatie. Baseer de waarde op de workload die u verwacht. Stel voor hoge beschikbaarheid de waarde in op ten minste 3. De service reserveert een extra 20% voor het uitvoeren van upgrades. Zie limieten voor online-eindpunten voor meer informatie. |
| Omgevingsvariabelen | Stel de volgende omgevingsvariabelen in voor eindpunten die zijn geïmplementeerd vanuit een stroom: - (vereist) PRT_CONFIG_OVERRIDE: voor het ophalen van verbindingen vanuit de werkruimte - (optioneel) PROMPTFLOW_RESPONSE_INCLUDED_FIELDS:: Wanneer er meerdere velden in het antwoord zijn, worden met deze env-variabele de velden gefilterd die in het antwoord worden weergegeven. Als er bijvoorbeeld twee stroomuitvoer is: 'answer', 'context', en als u alleen antwoord wilt hebben in het eindpuntantwoord, kunt u deze env-variabele instellen op ["answer"]. |
Belangrijk
Als uw flowmap een requirements.txt-bestand bevat met de afhankelijkheden die nodig zijn om de flow uit te voeren, volgt u de stappen voor implementatie met een aangepaste omgeving om de aangepaste omgeving op te bouwen, inclusief de afhankelijkheden.
Als u een online-implementatie van Kubernetes maakt, geeft u de volgende kenmerken op:
| Kenmerk | Beschrijving |
|---|---|
| Type | Het type implementatie. Stel de waarde in op kubernetes. |
| Exemplaartype | Het exemplaartype dat u in uw Kubernetes-cluster hebt gemaakt om te gebruiken voor de implementatie. Het geeft de aanvraag- en limietwaarden voor de rekenresources van de implementatie weer. Zie Exemplaartype maken en beheren voor meer informatie. |
Uw online-eindpunt implementeren in Azure
Voer de volgende code uit om het eindpunt in de cloud te maken:
az ml online-endpoint create --file endpoint.yml
Voer de volgende code uit om de implementatie te maken met de naam blue onder het eindpunt:
az ml online-deployment create --file blue-deployment.yml --all-traffic
Opmerking
Deze implementatie kan langer dan 15 minuten duren.
Tip
Als u de CLI-console liever niet blokkeert, voegt u de vlag --no-wait toe aan de opdracht. Deze vlag stopt echter de interactieve weergave van de implementatiestatus.
Belangrijk
De --all-traffic vlag in de vorige az ml online-deployment create opdracht wijst 100% van het eindpuntverkeer toe aan de zojuist gemaakte blue implementatie. Hoewel deze toewijzing nuttig is voor ontwikkelings- en testdoeleinden, wilt u in een productieomgeving mogelijk verkeer naar de nieuwe implementatie toestaan met een expliciete opdracht. Bijvoorbeeld az ml online-endpoint update -n $ENDPOINT_NAME --traffic "blue=100".
De status van het eindpunt en de implementatie controleren
Voer de volgende code uit om de status van het eindpunt te controleren:
az ml online-endpoint show -n basic-chat-endpoint
Voer de volgende code uit om de status van de implementatie te controleren:
az ml online-deployment get-logs --name blue --endpoint basic-chat-endpoint
Het eindpunt aanroepen om gegevens te scoren met behulp van uw model
sample-request.json Een bestand maken:
{
"question": "What is Azure Machine Learning?",
"chat_history": []
}
az ml online-endpoint invoke --name basic-chat-endpoint --request-file sample-request.json
U kunt het eindpunt ook aanroepen met behulp van een HTTP-client, zoals curl:
ENDPOINT_KEY=<your-endpoint-key>
ENDPOINT_URI=<your-endpoint-uri>
curl --request POST "$ENDPOINT_URI" --header "Authorization: Bearer $ENDPOINT_KEY" --header 'Content-Type: application/json' --data '{"question": "What is Azure Machine Learning?", "chat_history": []}'
Haal uw eindpuntsleutel en uw eindpunt-URI op uit de Azure Machine Learning werkruimte in Eindpunten>Verbruik>basisverbruiksgegevens.
Geavanceerde configuraties
Uitrollen met verschillende verbindingen van flow-ontwikkeling
Mogelijk wilt u tijdens de implementatie de verbindingen van de werkstroom overschrijven.
Als uw flow.dag.yaml-bestand bijvoorbeeld gebruikmaakt van een verbinding met de naam my_connection, kunt u dit overschrijven door omgevingsvariabelen van de implementatie-yaml als volgt toe te voegen:
Optie 1: verbindingsnaam overschrijven
environment_variables:
my_connection: <override_connection_name>
Als u een specifiek veld van de verbinding wilt overschrijven, kunt u dit overschrijven door omgevingsvariabelen toe te voegen met een naamgevingspatroon <connection_name>_<field_name>. Als uw stroom bijvoorbeeld gebruikmaakt van een verbinding met de naam my_connection met een configuratiesleutel genaamd chat_deployment_name, probeert de serverback-end standaard chat_deployment_name op te halen uit de omgevingsvariabele 'MY_CONNECTION_CHAT_DEPLOYMENT_NAME'. Als de omgevingsvariabele niet is ingesteld, wordt de oorspronkelijke waarde uit de stroomdefinitie gebruikt.
Optie 2: overschrijven door te verwijzen naar asset
environment_variables:
my_connection: ${{azureml://connections/<override_connection_name>}}
Opmerking
U kunt alleen verwijzen naar een verbinding binnen dezelfde werkruimte.
Implementeren met een aangepaste omgeving
In deze sectie wordt beschreven hoe u een Docker-buildcontext gebruikt om de omgeving voor uw implementatie op te geven, ervan uitgaande dat u kennis hebt van Docker- en Azure Machine Learning-omgevingen.
De runtime-installatiekopieën van Prompt flow zijn bevroren en ontvangen geen beveiligings- of pakketupdates meer. De latest tag in het volgende voorbeeld geeft niet aan dat de afbeelding updates ontvangt. Gebruik dit voorbeeld alleen om een bestaande implementatie te onderhouden terwijl u de migratie plant.
- Maak in uw lokale omgeving een map met de naam
image_build_with_requirementsdie de volgende bestanden bevat:
|--image_build_with_requirements
| |--requirements.txt
| |--Dockerfile
```
- The `requirements.txt` file, inherited from the flow folder, tracks the dependencies of the flow.
- The `Dockerfile` with content similar to the following example:
```dockerfile
FROM mcr.microsoft.com/azureml/promptflow/promptflow-runtime:latest
COPY ./requirements.txt .
RUN pip install -r requirements.txt
```
1. Replace the environment section in the deployment definition YAML file with the following content:
```yaml
environment:
build:
path: image_build_with_requirements
dockerfile_path: Dockerfile
# deploy prompt flow is BYOC, so we need to specify the inference config
inference_config:
liveness_route:
path: /health
port: 8080
readiness_route:
path: /health
port: 8080
scoring_route:
path: /score
port: 8080
```
### Use FastAPI serving engine (preview)
By default, prompt flow serving uses the Flask serving engine. Starting from prompt flow SDK version 1.10.0, FastAPI-based serving engine is supported. You can use the `fastapi` serving engine by specifying an environment variable `PROMPTFLOW_SERVING_ENGINE`.
```yaml
environment_variables:
PROMPTFLOW_SERVING_ENGINE: fastapi
Gelijktijdigheid configureren voor implementatie
Wanneer u uw stroom implementeert in onlineimplementatie, configureert u twee omgevingsvariabelen voor gelijktijdigheid: PROMPTFLOW_WORKER_NUM en PROMPTFLOW_WORKER_THREADS. U moet ook de max_concurrent_requests_per_instance parameter instellen.
In het volgende voorbeeld ziet u hoe u deze instellingen in het deployment.yaml bestand configureert.
request_settings:
max_concurrent_requests_per_instance: 10
environment_variables:
PROMPTFLOW_WORKER_NUM: 4
PROMPTFLOW_WORKER_THREADS: 1
PROMPTFLOW_WORKER_NUM: Met deze parameter wordt het aantal werkrollen (processen) ingesteld dat in één container wordt gestart. De standaardwaarde is gelijk aan het aantal CPU-kernen en de maximumwaarde is tweemaal het aantal CPU-kernen.
PROMPTFLOW_WORKER_THREADS: Met deze parameter wordt het aantal threads ingesteld dat in één worker wordt gestart. De standaardwaarde is 1.
Opmerking
Wanneer u instelt
PROMPTFLOW_WORKER_THREADSop een waarde die groter is dan 1, moet u ervoor zorgen dat uw stroomcode thread-safe is.max_concurrent_requests_per_instance: het maximum aantal gelijktijdige aanvragen per exemplaar dat is toegestaan voor de implementatie. De standaardwaarde is 10.
De voorgestelde waarde voor
max_concurrent_requests_per_instanceis afhankelijk van uw aanvraagtijd.- Als uw aanvraagtijd groter is dan 200 ms, stelt u deze in
max_concurrent_requests_per_instanceopPROMPTFLOW_WORKER_NUM * PROMPTFLOW_WORKER_THREADS. - Als uw aanvraagtijd kleiner is dan of gelijk is aan 200 ms, stelt u deze in
max_concurrent_requests_per_instanceop(1.5-2) * PROMPTFLOW_WORKER_NUM * PROMPTFLOW_WORKER_THREADS. Deze instelling kan de totale doorvoer verbeteren door sommige verzoeken toe te staan aan serverzijde in de wachtrij te worden geplaatst. - Als u aanvragen voor meerdere regio's verzendt, kunt u de drempelwaarde wijzigen van 200 ms in 1 s.
- Als uw aanvraagtijd groter is dan 200 ms, stelt u deze in
Controleer tijdens het afstemmen van deze parameters de volgende metrische gegevens om optimale prestaties en stabiliteit te garanderen:
- CPU- en geheugengebruik van instanties voor deze implementatie
- Niet-200 antwoorden (4xx, 5xx)
- Als u een 429-antwoord ontvangt, geeft deze statuscode meestal aan dat u de gelijktijdigheidsinstellingen moet aanpassen aan de hand van de voorgaande handleiding of de implementatie moet schalen.
- Azure OpenAI-beperkingsstatus
Eindpunten bewaken
Algemene metrische gegevens verzamelen
Tijdens inferentietijd traceringsgegevens en systeemmetriek verzamelen
U kunt tijdens inferentie traceringsgegevens en implementatiespecifieke metrische gegevens voor prompt flow (tokenverbruik, flowlatentie en meer) verzamelen in de aan de werkruimte gekoppelde Application Insights door een eigenschap app_insights_enabled: true toe te voegen in het deployment-YAML-bestand. Zie tracering en metrische gegevens van de implementatie van Prompt flow voor meer informatie.
U kunt specifieke metrische gegevens voor de promptstroom opgeven en traceringsgegevens naar een andere Application Insights-resource sturen in plaats van naar de resource die aan de werkruimte is gekoppeld. U kunt als volgt een omgevingsvariabele opgeven in het yaml-bestand voor de implementatie. U vindt de verbindingsreeks van uw Application Insights op de pagina Overzicht in Azure portal.
environment_variables:
APPLICATIONINSIGHTS_CONNECTION_STRING: <connection_string>
Opmerking
Als u alleen instelt app_insights_enabled: true maar uw werkruimte geen gekoppelde Application Insights heeft, mislukt uw implementatie niet, maar worden er geen gegevens verzameld.
Als u zowel app_insights_enabled: true als de voorgaande omgevingsvariabele tegelijk opgeeft, worden de traceringsgegevens en metrische gegevens verzonden naar gekoppelde Application Insights-werkruimte. Als u een andere Application Insights wilt opgeven, moet u alleen de omgevingsvariabele behouden.
Veelvoorkomende fouten
Time-outprobleem voor upstream-aanvragen bij gebruik van het eindpunt
Deze fout treedt meestal op vanwege een time-out. Standaard is de waarde van request_timeout_ms 5.000 milliseconden. U kunt het instellen tot 5 minuten, wat 300.000 milliseconden is. In het volgende voorbeeld ziet u hoe u de time-out van de aanvraag opgeeft in het YAML-implementatiebestand. Zie het beheerde online-implementatieschema voor meer informatie over het implementatieschema.
request_settings:
request_timeout_ms: 300000
Belangrijk
De time-out van 300.000 ms werkt alleen voor beheerde online implementaties vanuit de promptstroom. De maximale time-out voor een online-eindpunt dat een niet-promptstroom beheert, is 180 seconden.
Als u wilt aangeven dat deze implementatie van prompt flow afkomstig is, voegt u als volgt eigenschappen aan uw model toe (via een inline-modelspecificatie in de implementatie-YAML of een zelfstandige modelspecificatie-YAML).
properties:
# indicate a deployment from prompt flow
azureml.promptflow.source_flow_id: <value>
Volgende stappen
- Meer informatie over het beheerde online-eindpuntschema en het beheerde online-implementatieschema.
- Meer informatie over het testen van het eindpunt in de gebruikersinterface en het bewaken van het eindpunt.
- Meer informatie over het oplossen van problemen met beheerde online-eindpunten.
- Problemen met promptstroomimplementaties oplossen.
- Als u een verbeterde versie van uw stroom wilt implementeren met behulp van een veilige implementatiestrategie, raadpleegt u Veilige implementatie voor online-eindpunten.
- Meer informatie over
deploy-stromen naar andere platforms, zoals een lokale ontwikkelingsservice, Docker-container, Azure APP-service, enzovoort <>