Dela via


Kom igång med promptflöde

Den här artikeln vägleder dig genom den huvudsakliga användarresan för att använda promptflöde i Azure Machine Learning-studio. Du lär dig hur du aktiverar promptflöde på din Azure Machine Learning-arbetsyta, skapar och utvecklar ditt första promptflöde, testar och utvärderar det och distribuerar det sedan till produktion.

Förutsättningar

  • Kontrollera att standarddatalagret på din arbetsyta är blobtyp.

  • Om du skyddar promptflödet med det virtuella nätverket följer du Nätverksisolering i promptflödet för att få mer information.

Konfigurera anslutning

Först måste du konfigurera anslutningen.

Anslutningen hjälper till att lagra och hantera hemliga nycklar på ett säkert sätt eller andra känsliga autentiseringsuppgifter som krävs för att interagera med LLM (stora språkmodeller) och andra externa verktyg, till exempel Azure Content Safety.

Gå till startsidan för promptflödet och välj fliken Anslutningar . Anslutningen är en delad resurs för alla medlemmar på arbetsytan. Om du redan ser en anslutning vars provider är AzureOpenAI kan du hoppa över det här steget och gå till Starta beräkningssession.

Om du inte redan är ansluten till AzureOpenAI väljer du knappen Skapa och sedan AzureOpenAI i listrutan.

Skärmbild av fliken Anslutningar med skapa markerad.

Då visas en högerpanel. Här måste du välja prenumerationen och resursnamnet, ange anslutningsnamnet, API-nyckeln (om autentiseringstypen är lika med API-nyckel), API-bas, API-typ och API-version innan du väljer knappen Spara . Prompt Flow stöder även Microsoft Entra-ID som autentiseringstyp för identitetsbaserad autentisering för Azure OpenAI-resurs. Läs mer om hur du konfigurerar Azure OpenAI-tjänsten med hanterade identiteter.

Skärmbild av de tillagda Azure OpenAI-anslutningarna.

Om du vill hämta API-nyckeln, basen, typen och versionen kan du navigera till chattlekplatsen i Azure OpenAI-portalen och välja knappen Visa kod. Härifrån kan du kopiera nödvändig information och klistra in den i panelen för att skapa anslutningar.

Skärmbild av chattlekplatsen när du har valt knappen Visa kod som visar ett popup-fönster med exempelkod som markerar API-nyckeln.

När du har angett de obligatoriska fälten väljer du Spara för att skapa anslutningen.

Skapa och utveckla ditt promptflöde

fliken Flöden på startsidan för promptflöde väljer du Skapa för att skapa ditt första promptflöde. Du kan skapa ett flöde genom att klona exemplen i galleriet.

Klona från exempel

De inbyggda exemplen visas i galleriet.

I den här guiden använder vi exempel på webbklassificering för att gå igenom huvudanvändarresan. Du kan välja Visa information på panelen Webbklassificering för att förhandsgranska exemplet. Sedan visas ett förhandsgranskningsfönster. Du kan bläddra i exempelintroduktionen för att se om exemplet liknar ditt scenario. Eller så kan du bara välja Klona för att klona exemplet direkt och sedan kontrollera flödet. Testa den, ändra den.

Skärmbild av skapa från pentry som markerar webbklassificering.

När du har valt Klona skapas ett nytt flöde och sparas i en specifik mapp i arbetsytans filresurslagring. Du kan anpassa mappnamnet enligt dina inställningar i den högra panelen.

Starta beräkningssession

Sedan anger du flödesredigeringssidan. Innan vi går in startar du en beräkningssession.

Beräkningssessionen fungerar som de beräkningsresurser som krävs för att programmet ska köras, inklusive en Docker-avbildning som innehåller alla nödvändiga beroendepaket. Det är ett måste för flödeskörning.

Skärmbild av att starta en start-compute-session.

Flödesredigeringssida

När beräkningssessionen startar kan vi ta en titt på flödesredigeringssidan.

Skärmbild av webbklassificering som markerar huvudarbetsytan.

Till vänster på redigeringssidan är det utplattad vy, huvudarbetsytan där du kan skapa flödet, till exempel lägga till en ny nod, redigera prompten, välja flödesindata osv.

Det övre högra hörnet visar flödets mappstruktur. Varje flöde har en mapp som innehåller en flow.dag.yaml-fil, källkodsfiler och systemmappar. Du kan enkelt exportera eller importera ett flöde för testning, distribution eller samarbete.

Förutom att redigera noden i utplattad vy kan du även aktivera växlingsknappen Raw-filläge och välja filnamnet för att redigera filen på fliken öppna filen.

Skärmbild av fliken filredigering i raw-filläge.

I det nedre högra hörnet är det bara grafvyn för visualisering. Du kan zooma in, zooma ut, autolayout osv.

I den här guiden använder vi exempel på webbklassificering för att gå igenom huvudanvändarresan. Webbklassificering är ett flöde som visar klassificering i flera klasser med LLM. Med en URL klassificeras URL:en till en webbkategori med bara några få bilder, enkla sammanfattningar och klassificeringsprompter. Till exempel, givet "https://www.imdb.com/", klassificeras den här URL:en till "Film".

I grafvyn kan du se hur exempelflödet ser ut. Indata är en URL som ska klassificeras, sedan används ett Python-skript för att hämta textinnehåll från URL:en, använda LLM för att sammanfatta textinnehållet inom 100 ord och sedan klassificera baserat på URL:en och sammanfattat textinnehåll, senast använda Python-skript för att konvertera LLM-utdata till en ordlista. Den prepare_examples noden är att mata några skottexempel till klassificeringsnodens prompt.

Flödesindata

När du utvecklar avsnittet Indata kan du skapa och visa indata. För webbklassificeringsexempel som visas på skärmbilden nedan är flödesindata en URL av strängtyp.

Skärmbild av webbklassificering som markerar indata.

Indataschemat (namn: url, typ: sträng) och värdet har redan angetts vid kloning av exempel. Du kan ändra till ett annat värde manuellt, till exempel "https://www.imdb.com/".

Konfigurera LLM-noder

För varje LLM-nod måste du välja en anslutning för att ange DINA LLM API-nycklar.

Skärmbild av webbklassificering som visar listrutan för anslutning.

I det här exemplet kontrollerar du att API-typen är chatt eftersom det exempel på fråga som vi anger är för chatt-API:et. Information om skillnaden mellan chatt- och slutförande-API:et finns i Utveckla ett flöde.

Beroende på vilken anslutningstyp du har valt måste du sedan välja en distribution eller en modell. Om du använder Azure OpenAI-anslutning måste du välja en distribution i listrutan (Om du inte har någon distribution skapar du en i Azure OpenAI-portalen genom att följa Skapa en resurs och distribuera en modell med Azure OpenAI). Om du använder OpenAI-anslutning måste du välja en modell.

Vi har två LLM-noder (summarize_text_content och classify_with_llm) i flödet, så du måste konfigurera för var och en.

Kör en nod

Om du vill testa och felsöka en enskild nod väljer du ikonen Kör på noden i utplattad vy. Körningsstatus visas längst upp, när körningen har slutförts kontrollerar du utdata i nodutdataavsnittet.

Skärmbild av webbklassificering som först visar att du kör python-noden och sedan kontrollerar utdata. Därefter kör du LLM-noden och kontrollerar sedan dess utdata.

Kör fetch_text_content_from_url sedan summarize_text_content, kontrollera om flödet kan hämta innehåll från webben och sammanfatta webbinnehållet.

Statusen för en nod visas också i grafvyn. Du kan också ändra flödesindata-URL:en för att testa nodbeteendet för olika URL:er.

Kör hela flödet

Om du vill testa och felsöka hela flödet väljer du knappen Kör längst upp till höger.

Skärmbild av webbklassificering som visar en hel körning och som markerar körningsknappen.

Sedan kan du kontrollera körningsstatus och utdata för varje nod. Nodstatusen visas också i grafvyn. På samma sätt kan du ändra flödesindata-URL:en för att testa hur flödet fungerar för olika URL:er.

Ange och kontrollera flödesutdata

I stället för att kontrollera utdata på varje nod kan du också ange flödesutdata och kontrollera utdata för flera noder på ett och samma ställe. Dessutom hjälper flödesutdata:

  • Kontrollera masstestresultat i en enskild tabell
  • Definiera mappning av utvärderingsgränssnitt
  • Ange distributionssvarsschema

När du klonar exemplet har flödesutdata (kategori och bevis) redan angetts.

Du kan välja knappen Visa spårning i banderollen för att visa detaljerad information om indata, utdata, flödeskörning och orkestrering. Du kan se att flödet förutsäger indata-URL:en med en kategori och bevis.

Skärmbild av visning av spårning på redigeringssidan.

 Skärmbild av knappen Visa utdata på två platser.

Du kan välja Visa testresultat för att kontrollera alla historiska tester i en lista.

Skärmbild av webbklassificering som visar knappen visa utdata.

Skärmbild av flödestestresultatet.

Test och utvärdering

När flödet har körts med en enda rad data kanske du vill testa om det fungerar bra i stora mängder data, du kan köra ett masstest och välja några utvärderingsmetoder och sedan kontrollera måtten.

Förbereda data

Du måste förbereda testdata först. Vi stöder csv-, tsv- och jsonl-fil för tillfället.

Gå till GitHub för att ladda ned "data.csv", den gyllene datamängden för webbklassificeringsexemplet.

Utvärdera

Välj knappen Utvärdera bredvid knappen Kör. Sedan visas en höger panel. Det är en guide som hjälper dig att skicka en batchkörning och välja utvärderingsmetoden (valfritt).

Du måste ange ett batchkörningsnamn, en beskrivning och sedan välja Lägg till nya data för att ladda upp de data som du laddade ned. När du har laddat upp data eller om dina kollegor på arbetsytan redan har skapat en datauppsättning kan du välja datauppsättningen från listrutan och förhandsgranska de första fem raderna. Listrutan för val av datauppsättning stöder sökning och automatisk förslagssökning.

Dessutom stöder indatamappningen mappning av flödesindata till en specifik datakolumn i datauppsättningen, vilket innebär att du kan använda valfri kolumn som indata, även om kolumnnamnen inte matchar.

Skärmbild av Batch-körning och utvärdering, som markerar uppladdning av nya data.

Välj sedan en eller flera utvärderingsmetoder. Utvärderingsmetoderna är också flöden som använder Python eller LLM osv. för att beräkna mått som noggrannhet, relevanspoäng. De inbyggda utvärderingsflödena och de anpassade visas på sidan. Eftersom webbklassificering är ett klassificeringsscenario är det lämpligt att välja den utvärdering av klassificeringsnoggrannhet som ska utvärderas.

Skärmbild av webbklassificering som visar batchkörningen och utvärderar utvärderingsmetoder.

Om du är intresserad av hur måtten definieras för inbyggda utvärderingsmetoder kan du förhandsgranska utvärderingsflödena genom att välja Mer information.

När du har valt Utvärdering av klassificeringsnoggrannhet som utvärderingsmetod kan du ställa in gränssnittsmappning för att mappa den grundläggande sanningen till flödesindata och förutsägelse till flödesutdata.

Skärmbild av webbklassificering som visar batchkörningen och utvärderar utvärderingsinställningarna.

Välj sedan Granska + skicka för att skicka en batchkörning och den valda utvärderingen.

Kontrollera resultat

När körningen har skickats väljer du Visa körningslista för att navigera till batchkörningslistan för det här flödet.

Batchkörningen kan ta ett tag att slutföra. Du kan uppdatera sidan för att läsa in den senaste statusen.

När batchkörningen är klar väljer du körningen och visualiserar sedan utdata för att visa resultatet av batchkörningen. Välj Visa utdata (ögonikon) för att lägga till utvärderingsresultat i tabellen med batchkörningsresultat. Du kan se det totala antalet token och den totala noggrannheten. I tabellen visas sedan resultatet för varje rad med data: indata, flödesutdata och utvärderingsresultat (vilka fall förutsägs korrekt och vilka som inte är det).).

Skärmbild av sidan med batchkörningsinformation för webbklassificering för att visa utdata.

Du kan justera kolumnbredden, dölja/ta fram kolumner, ändra kolumnordningar. Du kan också välja Exportera för att ladda ned utdatatabellen för ytterligare undersökning, vi tillhandahåller 2 alternativ:

  • Ladda ned aktuell sida: en csv-fil med batchkörningens utdata på den aktuella sidan.
  • Ladda ned alla data: vad din nedladdning är en Jupyter Notebook-fil måste du köra den för att ladda ned utdata i jsonl- eller csv-format.

Som du kanske vet är noggrannhet inte det enda måttet som kan utvärdera en klassificeringsuppgift, till exempel kan du också använda recall för att utvärdera. I det här fallet kan du välja Utvärdera bredvid knappen "Visualisera utdata" och välja andra utvärderingsmetoder att utvärdera.

Distribution

När du har skapat ett flöde och testat det korrekt kanske du vill distribuera det som en slutpunkt så att du kan anropa slutpunkten för slutsatsdragning i realtid.

Konfigurera slutpunkten

Välj batchkörningslänk, sedan dirigeras du till informationssidan för batchkörning och väljer Distribuera. En guide visas så att du kan konfigurera slutpunkten. Ange en slutpunkt och ett distributionsnamn, välj en virtuell dator, ange anslutningar, gör vissa inställningar (du kan använda standardinställningarna), välj Granska + skapa för att starta distributionen.

Testa slutpunkten

Du kan gå till slutpunktsinformationssidan från meddelandet eller genom att navigera till Slutpunkter i det vänstra navigeringsfältet i Studio och sedan välja slutpunkten på fliken Realtidsslutpunkter . Det tar flera minuter att distribuera slutpunkten. När slutpunkten har distribuerats kan du testa den på fliken Test .

Placera den URL som du vill testa i indatarutan och välj Test. Sedan ser du resultatet som förutsägs av slutpunkten.

Rensa resurser

Om du planerar att fortsätta nu till instruktionsguider och vill använda de resurser som du skapade här går du vidare till Nästa steg.

Stoppa beräkningsinstans

Om du inte ska använda den nu stoppar du beräkningsinstansen:

  1. Välj Beräkning i det vänstra navigeringsområdet i studion.
  2. På de översta flikarna väljer du Beräkningsinstanser
  3. Välj beräkningsinstansen i listan.
  4. I det övre verktygsfältet väljer du Stoppa.

Ta bort alla resurser

Om du inte planerar att använda någon av de resurser som du har skapat tar du bort dem så att du inte debiteras några avgifter:

  1. I Azure-portalen väljer du Resursgrupper längst till vänster.
  2. I listan väljer du den resursgrupp som du skapade.
  3. Välj Ta bort resursgrupp.

Nästa steg

Nu när du har en uppfattning om vad som ingår i flödesutveckling, testning, utvärdering och distribution kan du läsa mer om processen i dessa självstudier: