Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
En beräkningssession för promptflöde innehåller de databehandlingsresurser som krävs för att programmet ska kunna köras, inklusive en Docker-avbildning med alla nödvändiga beroendepaket. Med den här tillförlitliga, skalbara miljön kan processflödet köra uppgifter och funktioner effektivt, vilket säkerställer en smidig användarupplevelse.
Behörigheter och roller för hantering av beräkningssessioner
Om du vill tilldela roller behöver du owner eller Microsoft.Authorization/roleAssignments/write behörighet för resursen.
För användare av beräkningssessionen tilldelar du AzureML Data Scientist rollen på arbetsytan. Mer information finns i Hantera åtkomst till en Azure Machine Learning-arbetsyta.
Rolltilldelningen kan ta flera minuter att börja gälla.
Starta en beräkningssession i studio
Innan du använder Azure Machine Learning Studio för att starta en beräkningssession kontrollerar du att:
- Du har
AzureML Data Scientistrollen i arbetsytan. - Standarddatalagret (vanligtvis
workspaceblobstore) på din arbetsyta är av blobtyp. - Arbetskatalogen (
workspaceworkingdirectory) finns på arbetsytan. - Om du använder ett virtuellt nätverk för promptflöde förstår du övervägandena i Nätverksisolering i promptflödet.
Starta en beräkningssession på en flödessida
Varje flöde knyts till en enda beräkningssession. Starta en beräkningssession på en flödessida.
Välj start. Starta en beräkningssession med hjälp av den miljö som definierats i
flow.dag.yamlflödesmappen. Den körs på storleken på den virtuella datorn (VM) för serverlös beräkning, förutsatt att du har tillräckligt med kvot på arbetsytan.Välj Börja med avancerade inställningar. I de avancerade inställningarna kan du:
- Välj beräkningstyp. Du kan välja mellan serverlös beräknings- och beräkningsinstans.
Om du väljer serverlös beräkning kan du ange följande inställningar:
- Anpassa storleken på den virtuella datorn som beräkningssessionen använder. Välj VM-serien D och senare. Mer information finns i avsnittet om VM-serier och storlekar som stöds
- Anpassa inaktivitetstiden, vilket tar bort beräkningssessionen automatiskt om den inte används på ett tag.
- Ange den användartilldelade hanterade identiteten. Beräkningssessionen använder den här identiteten för att hämta en basavbildning, autentisering med anslutnings- och installationspaket. Kontrollera att den användartilldelade hanterade identiteten har tillräcklig behörighet. Om du inte anger den här identiteten används användaridentiteten som standard.
- Du kan använda följande CLI-kommando för att tilldela användartilldelad hanterad identitet till arbetsytan. Läs mer om hur du skapar och uppdaterar användartilldelade identiteter för en arbetsyta.
az ml workspace update -f workspace_update_with_multiple_UAIs.yml --subscription <subscription ID> --resource-group <resource group name> --name <workspace name>Om innehållet i workspace_update_with_multiple_UAIs.yml är följande:
identity: type: system_assigned, user_assigned user_assigned_identities: '/subscriptions/<subscription_id>/resourcegroups/<resource_group_name>/providers/Microsoft.ManagedIdentity/userAssignedIdentities/<uai_name>': {} '<UAI resource ID 2>': {}Dricks
Följande Azure RBAC-rolltilldelningar krävs på din användartilldelade hanterade identitet för din Azure Machine Learning-arbetsyta för att få åtkomst till data på de arbetsyteassocierade resurserna.
Resurs Behörighet Azure Machine Learning-arbetsyta Deltagare Azure Storage Deltagare (kontrollplan) + Storage Blob Data Contributor + Storage File Data Privileged Contributor (dataplan, förbruka flödesutkast i fildelning och data i blob) Azure Key Vault (när du använder behörighetsmodellen åtkomstprinciper) Deltagare + eventuella behörigheter för åtkomstprinciper förutom rensningsåtgärder , det här är standardläget för länkade Azure Key Vault. Azure Key Vault (när du använder RBAC-behörighetsmodell) Deltagare (kontrollplan) + Key Vault-administratör (dataplan) Azure Container Registry Deltagare Azure Application Insights Deltagare Kommentar
För att skicka jobb behöver användaren
assignbehörighet för den hanterade identiteten som tilldelats av användaren. Tilldela rollenManaged Identity Operator, eftersom den användartilldelade hanterade identiteten tilldelas till beräkningen varje gång en serverlös beräkningssession skapas.Om du väljer beräkningsinstans som beräkningstyp kan du bara ange inaktiv avstängningstid.
Eftersom den körs på en befintlig beräkningsinstans är storleken på den virtuella datorn fast och kan inte ändras under sessionen.
Identiteten som används för den här sessionen definieras också i beräkningsinstansen, som standard använder den användaridentiteten. Läs mer om hur du tilldelar identitet till beräkningsinstansen
För den inaktiva avstängningstiden används den för att definiera livscykeln för beräkningssessionen, om sessionen är inaktiv under den tid du anger tas den bort automatiskt. Om inaktiv avstängning är aktiverad på beräkningsinstansen börjar den gälla på beräkningsnivå.
- Välj beräkningstyp. Du kan välja mellan serverlös beräknings- och beräkningsinstans.
Använda en beräkningssession för att skicka en flödeskörning i CLI/SDK
Förutom att använda Studio anger du beräkningssessionen i CLI eller SDK när du skickar en flödeskörning.
Ange instanstypen eller beräkningsinstansens namn under resursavsnittet. Om instanstypen eller beräkningsinstansens namn inte har angetts väljer Azure Machine Learning en instanstyp (VM-storlek) baserat på faktorer som kvot, kostnad, prestanda och diskstorlek. Läs mer om serverlös beräkning.
$schema: https://azuremlschemas.azureedge.net/promptflow/latest/Run.schema.json
flow: <path_to_flow>
data: <path_to_flow>/data.jsonl
# specify identity used by serverless compute.
# default value
# identity:
# type: user_identity
# use workspace first UAI
# identity:
# type: managed
# use specified client_id's UAI
# identity:
# type: managed
# client_id: xxx
column_mapping:
url: ${data.url}
# define cloud resource
resources:
instance_type: <instance_type> # serverless compute type
# compute: <compute_instance_name> # use compute instance as compute type
Skicka den här körningen via CLI:
pfazure run create --file run.yml
Kommentar
Den inaktiva avstängningen är en timme om du använder CLI/SDK för att skicka en flödeskörning. Du kan gå till beräkningssidan för att släppa beräkning.
Referensfiler utanför flödesmappen
Ibland kanske du vill referera till en requirements.txt fil som ligger utanför flödesmappen. Du kan till exempel ha ett komplext projekt som innehåller flera flöden, och de delar samma requirements.txt fil. Det gör du genom att lägga till fältet additional_includes i flow.dag.yaml. Värdet för det här fältet är en lista över den relativa sökvägen till flödesmappen. Om requirements.txt till exempel finns i den överordnade mappen i flödesmappen kan du lägga till ../requirements.txt i fältet additional_includes .
inputs:
question:
type: string
outputs:
output:
type: string
reference: ${answer_the_question_with_context.output}
environment:
python_requirements_txt: requirements.txt
additional_includes:
- ../requirements.txt
...
Filen requirements.txt kopieras till flödesmappen och används för att starta beräkningssessionen.
Uppdatera en beräkningssession på studioflödessidan
På en flödessida använder du de här alternativen för att hantera en beräkningssession:
- Ändra inställningar för beräkningssession: Ändra inställningar som VM-storlek eller den användartilldelade hanterade identiteten för serverlös beräkning. Om du använder en beräkningsinstans växlar du till en annan instans.
- Om du ändrar storleken på den virtuella datorn återställs beräkningssessionen med den nya VM-storleken.
-
Installera paket från requirements.txt: Öppna
requirements.txti gränssnittet för promptflöde och lägg till paket. -
Visa installerade paket: Visar de paket som installerats i beräkningssessionen, inklusive de i basavbildningen
requirements.txtoch som anges i filen i flödesmappen. - Återställ beräkningssessionen tar bort den aktuella beräkningssessionen och skapar en ny med samma miljö. Om du stöter på ett problem med paketkonflikter kan du prova det här alternativet.
- Stoppa beräkningssessionen tar bort den aktuella beräkningssessionen. Om det inte finns någon aktiv beräkningssession på den underliggande beräkningen tas även den serverlösa beräkningsresursen bort.
Du kan också anpassa miljön som du använder för att köra det här flödet genom att lägga till paket i requirements.txt filen i flödesmappen. När du har lagt till fler paket i den här filen kan du välja något av följande alternativ:
-
Spara och installera utlösare
pip install -r requirements.txti flödesmappen. Processen kan ta några minuter, beroende på vilka paket du installerar. -
Spara sparar bara
requirements.txtfilen. Du kan installera paketen senare själv.
Kommentar
Du kan ändra platsen och till och med filnamnet requirements.txtför , men se till att även ändra den i flow.dag.yaml filen i flödesmappen.
Fäst inte versionerna av promptflow och promptflow-tools i requirements.txt eftersom de redan ingår i sessionsbasavbildningen.
requirements.txt stöder inte lokala hjulfiler. Skapa dem i avbildningen och uppdatera den anpassade basavbildningen i flow.dag.yaml. Läs mer om hur du skapar en anpassad basavbildning.
Lägga till paket i en privat feed i Azure DevOps
Följ dessa steg om du vill använda ett privat flöde i Azure DevOps:
Tilldela en hanterad identitet till arbetsytan eller beräkningsinstansen.
Om du använder serverlös beräkning som beräkningssession tilldelar du en användartilldelad hanterad identitet till arbetsytan.
Skapa en användartilldelad hanterad identitet och lägg till den i Azure DevOps-organisationen. Mer information finns i Använda tjänstens huvudnamn och hanterade identiteter.
Kommentar
Om knappen Lägg till användare inte visas har du förmodligen inte de behörigheter som krävs för att utföra den här åtgärden.
Lägga till eller uppdatera användartilldelade identiteter till en arbetsyta.
Kommentar
Kontrollera att den användartilldelade hanterade identiteten har
Microsoft.KeyVault/vaults/readpå den länkade nyckelvaulten för arbetsytan.
Om du använder en beräkningsinstans som beräkningssession tilldelar du en användartilldelad hanterad identitet till beräkningsinstansen.
Lägg till
{private}i din privata feed-URL. Om du till exempel vill installeratest_packagefråntest_feedi Azure DevOps lägger du till-i https://{private}@{test_feed_url_in_azure_devops}irequirements.txt:-i https://{private}@{test_feed_url_in_azure_devops} test_packageAnge med användartilldelad hanterad identitet i konfigurationen av beräkningssessionen.
Om du använder serverlös beräkning anger du den användartilldelade hanterade identiteten i Starta med avancerade inställningar om beräkningssessionen inte körs eller använder knappen Ändra inställningar för beräkningssession om beräkningssessionen körs.
Om du använder beräkningsinstansen använder den den användartilldelade hanterade identiteten som du tilldelade till beräkningsinstansen.
Kommentar
Den här metoden fokuserar främst på snabb testning i flödesutvecklingsfasen, om du också vill distribuera det här flödet som slutpunkt skapar du det här privata flödet i avbildningen och uppdaterar anpassa basavbildningen i flow.dag.yaml. Läs mer om hur du skapar en anpassad basavbildning
Ändra basavbildningen för beräkningssessionen
Som standard använder vi den senaste basavbildningen för promptflöde. Om du vill använda en annan basavbildning kan du skapa en anpassad.
- I Studio kan du ändra basavbildningen i basavbildningsinställningarna under inställningarna för beräkningssessionen.
Du kan också ange den nya basavbildningen
environmentunderflow.dag.yamli filen i flödesmappen.environment: image: <your-custom-image> python_requirements_txt: requirements.txt
Om du vill använda den nya basavbildningen måste du återställa beräkningssessionen. Den här processen tar flera minuter eftersom den hämtar den nya basavbildningen och installerar om paketen.
Hantera serverlös instans som används av en beräkningssession
Använd serverlös beräkning som en beräkningssession för att hantera den serverlösa instansen. Visa den serverlösa instansen på fliken för beräkningssessionslistan på beräkningssidan.
Få åtkomst till flöden och körningar på beräkningen under fliken Aktiva flöden och körningar. Om du tar bort instansen påverkas flödena och körningarna där.
Relation mellan beräkningssession, beräkningsresurs, flöde och användare
- En enskild användare kan ha flera beräkningsresurser (serverlös eller beräkningsinstans). En användare kan till exempel ha beräkningsresurser med olika VM-storlekar eller användartilldelade hanterade identiteter.
- En beräkningsresurs kan bara användas av en enskild användare. Den fungerar som en privat utvecklingsruta för den användaren. Flera användare kan inte dela samma beräkningsresurs.
- En beräkningsresurs kan vara värd för flera beräkningssessioner. En beräkningssession är en container som körs på den underliggande beräkningsresursen. Till exempel kräver redigering av promptflöde inte många beräkningsresurser, så en enda beräkningsresurs kan vara värd för flera beräkningssessioner för samma användare.
- En beräkningssession tillhör endast en beräkningsresurs i taget. Du kan ta bort eller stoppa en beräkningssession och omallokera den till en annan beräkningsresurs.
- Ett flöde kan bara ha en beräkningssession. Varje flöde är fristående och definierar basavbildningen och nödvändiga Python-paket i flödesmappen för beräkningssessionen.
Växla körning till beräkningssession
Beräkningssessioner erbjuder dessa fördelar jämfört med körning av beräkningsinstanser:
- Hantera livscykeln för sessioner och underliggande beräkning automatiskt. Du behöver inte skapa eller hantera dem manuellt längre.
- Anpassa paket enkelt genom att lägga till
requirements.txtdem i filen i flödesmappen i stället för att skapa en anpassad miljö.
Växla en beräkningsinstans körning till en beräkningssession med följande steg:
-
requirements.txtFörbered filen i flödesmappen. Fäst inte versionerna avpromptflowochpromptflow-toolsirequirements.txteftersom de redan ingår i basavbildningen. Beräkningssessionen installerar paketen irequirements.txtfilen när den startas. - Om du skapar en anpassad miljö för beräkning av instansens körning, hämta avbildningen från miljöinformationssidan och ange den i
flow.dag.yamlfilen i flödeskatalogen. Mer information finns i Ändra basavbildningen för beräkningssessionen. Kontrollera att du eller den relaterade användartilldelade hanterade identiteten på arbetsytan haracr pullbehörighet för bilden.
- För beräkningsresursen fortsätter du att använda den befintliga beräkningsinstansen för att manuellt hantera livscykeln eller prova serverlös beräkning som hanteras av systemet.