Delen via


Aan de slag met promptstroom

In dit artikel wordt u begeleid bij het doorlopen van het hoofdtraject van het gebruik van een promptstroom in Azure Machine Learning-studio. U leert hoe u een promptstroom inschakelt in uw Azure Machine Learning-werkruimte, uw eerste promptstroom maakt en ontwikkelt, test en evalueert, en implementeert deze vervolgens in productie.

Vereisten

  • Zorg ervoor dat het standaardgegevensarchief in uw werkruimte blobtype is.

  • Als u een promptstroom met een virtueel netwerk beveiligt, volgt u netwerkisolatie in de promptstroom voor meer informatie.

Verbinding instellen

Eerst moet u verbinding instellen.

Verbinding helpt bij het veilig opslaan en beheren van geheime sleutels of andere gevoelige referenties die vereist zijn voor interactie met LLM (Grote taalmodellen) en andere externe hulpprogramma's, bijvoorbeeld Azure Content Safety.

Navigeer naar de startpagina van de promptstroom, selecteer het tabblad Verbindingen . Verbinding is een gedeelde resource voor alle leden in de werkruimte. Als u dus al een verbinding ziet waarvan de provider AzureOpenAI is, kunt u deze stap overslaan, gaat u naar De rekensessie starten.

Als u nog niet bent verbonden met AzureOpenAI, selecteert u de knop Maken en vervolgens AzureOpenAI in de vervolgkeuzelijst.

Schermopname van het tabblad Verbindingen met Maken gemarkeerd.

Vervolgens wordt er een rechterpaneel weergegeven. Hier moet u het abonnement en de resourcenaam selecteren, de verbindingsnaam, de API-sleutel (als het verificatietype gelijk is aan de API-sleutel), de API-basis, het API-type en de API-versie opgeven voordat u de knop Opslaan selecteert. Promptstroom biedt ook ondersteuning voor Microsoft Entra-id als verificatietype voor verificatie op basis van identiteit voor Azure OpenAI-resource. Meer informatie over het configureren van de Azure OpenAI-service met beheerde identiteiten.

Schermopname van de toegevoegde Azure OpenAI-verbindingen.

Als u de API-sleutel, de basis, het type en de versie wilt ophalen, gaat u naar de chatspeelplaats in de Azure OpenAI-portal en selecteert u de knop Code weergeven. Hier kunt u de benodigde informatie kopiëren en in het deelvenster voor het maken van de verbinding plakken.

Schermopname van de chatspeeltuin nadat u de knop Code weergeven hebt geselecteerd waarin een pop-up met voorbeeldcode wordt weergegeven, waarbij de API-sleutel wordt gemarkeerd.

Nadat u de vereiste velden hebt ingevoerd, selecteert u Opslaan om de verbinding te maken.

Uw promptstroom maken en ontwikkelen

Selecteer Op het tabblad Stromen op de startpagina van de promptstroom de optie Maken om uw eerste promptstroom te maken. U kunt een stroom maken door de voorbeelden in de galerie te klonen.

Klonen uit voorbeeld

De ingebouwde voorbeelden worden weergegeven in de galerie.

In deze handleiding gebruiken we het voorbeeld van webclassificatie om u door het hoofdtraject van de gebruiker te leiden. U kunt Details weergeven selecteren op de tegel Webclassificatie om een voorbeeld van het voorbeeld te bekijken. Vervolgens wordt er een voorbeeldvenster weergegeven. U kunt door de inleiding in het voorbeeld bladeren om te zien of het voorbeeld vergelijkbaar is met uw scenario. U kunt ook Klonen selecteren om het voorbeeld rechtstreeks te klonen en vervolgens de stroom te controleren. Test het, wijzig het.

Schermopname van maken op basis van het markeren van webclassificatie.

Nadat u Clone hebt geselecteerd, wordt er een nieuwe stroom gemaakt en opgeslagen in een specifieke map in de opslag van uw werkruimtebestandsshare. U kunt de mapnaam aanpassen op basis van uw voorkeuren in het rechterdeelvenster.

Compute-sessie starten

Vervolgens voert u de pagina voor het ontwerpen van stromen in. Voordat we verdergaan, start u eerst een rekensessie.

Compute-sessie fungeert als de rekenresources die nodig zijn om de toepassing uit te voeren, inclusief een Docker-installatiekopieën die alle benodigde afhankelijkheidspakketten bevatten. Het is een must-have voor stroomuitvoering.

Schermopname van het starten van een start-compute-sessie.

Pagina Stroomcreatie

Wanneer de rekensessie wordt gestart, kunnen we de pagina voor het ontwerpen van stromen bekijken.

Schermopname van webclassificatie waarin het belangrijkste werkgebied wordt gemarkeerd.

Links van de ontwerppagina is dit de platte weergave, het hoofdwerkgebied waar u de stroom kunt maken, bijvoorbeeld een nieuw knooppunt toevoegen, de prompt bewerken, de invoergegevens van de stroom selecteren, enzovoort.

In de rechterbovenhoek ziet u de mapstructuur van de stroom. Elke stroom heeft een map die een flow.dag.yaml-bestand, broncodebestanden en systeemmappen bevat. U kunt een stroom eenvoudig exporteren of importeren voor test-, implementatie- of samenwerkingsdoeleinden.

Naast inline bewerken van het knooppunt in de platte weergave, kunt u ook de wisselknop Raw-bestandsmodus inschakelen en de bestandsnaam selecteren om het bestand te bewerken op het tabblad Bestand openen.

Schermopname van het tabblad Bestand bewerken onder de modus Onbewerkt bestand.

In de rechterbenedenhoek is dit alleen de grafiekweergave voor visualisatie. U kunt inzoomen, uitzoomen, automatische indeling, enzovoort.

In deze handleiding gebruiken we het voorbeeld van webclassificatie om u door het hoofdtraject van de gebruiker te leiden. Webclassificatie is een stroom die de classificatie van meerdere klassen met LLM demonstreert. Met een URL wordt de URL geclassificeerd in een webcategorie met slechts een paar shots, eenvoudige samenvattings- en classificatieprompts. Als u bijvoorbeeld 'https://www.imdb.com/"' krijgt, wordt deze URL ingedeeld in 'Film'.

In de grafiekweergave kunt u zien hoe de voorbeeldstroom eruitziet. De invoer is een URL die moet worden geclassificeerd en gebruikt vervolgens een Python-script om tekstinhoud op te halen uit de URL, LLM te gebruiken om de tekstinhoud binnen 100 woorden samen te vatten en vervolgens te classificeren op basis van de URL en samengevatte tekstinhoud. Gebruik het Python-script voor het laatst om LLM-uitvoer te converteren naar een woordenlijst. Het prepare_examples knooppunt is het invoeren van enkele shotvoorbeelden bij de prompt van het classificatieknooppunt.

Stroominvoergegevens

Wanneer u de sectie Invoer uitvouwt, kunt u invoer maken en weergeven. Voor voorbeeld van webclassificatie, zoals hieronder wordt weergegeven, is de stroominvoer een URL van het tekenreekstype.

Schermopname van webclassificatie waarin de invoer wordt gemarkeerd.

Het invoerschema (naam: URL; type: tekenreeks) en waarde zijn al ingesteld bij het klonen van voorbeelden. U kunt handmatig een andere waarde wijzigen, bijvoorbeeld 'https://www.imdb.com/".

LLM-knooppunten instellen

Voor elk LLM-knooppunt moet u een verbinding selecteren om uw LLM API-sleutels in te stellen.

Schermopname van webclassificatie met de vervolgkeuzelijst voor de verbinding.

Voor dit voorbeeld moet u ervoor zorgen dat het API-type chat is, omdat het promptvoorbeeld dat we opgeven voor de chat-API is. Zie Een stroom ontwikkelen voor meer informatie over het verschil in de promptindeling van de chat- en voltooiings-API.

Afhankelijk van het verbindingstype dat u hebt geselecteerd, moet u vervolgens een implementatie of een model selecteren. Als u azure OpenAI-verbinding gebruikt, moet u een implementatie selecteren in de vervolgkeuzelijst (Als u geen implementatie hebt, maakt u er een in de Azure OpenAI-portal door een resource te maken en een model te implementeren met behulp van Azure OpenAI). Als u openAI-verbinding gebruikt, moet u een model selecteren.

We hebben twee LLM-knooppunten (summarize_text_content en classify_with_llm) in de stroom, dus u moet voor elk van beide knooppunten instellen.

Eén knooppunt uitvoeren

Als u één knooppunt wilt testen en fouten wilt opsporen, selecteert u het pictogram Uitvoeren op het knooppunt in de platte weergave. De uitvoeringsstatus wordt bovenaan weergegeven, zodra de uitvoering is voltooid, controleert u de uitvoer in de uitvoersectie van het knooppunt.

Schermopname van webclassificatie waarin u eerst het Python-knooppunt uitvoert en vervolgens de uitvoer controleert. Vervolgens voert u het LLM-knooppunt uit en controleert u vervolgens de uitvoer.

Voer fetch_text_content_from_url vervolgens summarize_text_content uit, controleer of de stroom inhoud van het web kan ophalen en vat de webinhoud samen.

De status van één knooppunt wordt ook weergegeven in de grafiekweergave. U kunt ook de invoer-URL van de stroom wijzigen om het gedrag van het knooppunt voor verschillende URL's te testen.

De hele stroom uitvoeren

Als u de hele stroom wilt testen en fouten wilt opsporen, selecteert u de knop Uitvoeren rechtsboven.

Schermopname van webclassificatie met een hele uitvoering en het markeren van de knop Uitvoeren.

Vervolgens kunt u de uitvoeringsstatus en uitvoer van elk knooppunt controleren. De statussen van het knooppunt worden ook weergegeven in de grafiekweergave. Op dezelfde manier kunt u de invoer-URL van de stroom wijzigen om te testen hoe de stroom zich gedraagt voor verschillende URL's.

Stroomuitvoer instellen en controleren

In plaats van uitvoer op elk knooppunt te controleren, kunt u ook stroomuitvoer instellen en uitvoer van meerdere knooppunten op één plaats controleren. Bovendien helpt stroomuitvoer het volgende:

  • Bulktestresultaten in één tabel controleren
  • Evaluatieinterfacetoewijzing definiëren
  • Implementatieantwoordschema instellen

Wanneer u het voorbeeld kloont, zijn de stroomuitvoer (categorie en bewijs) al ingesteld.

U kunt de knop Tracering weergeven in de banner selecteren om gedetailleerde informatie over invoer, uitvoer, stroomuitvoering en indeling weer te geven. U kunt zien dat de stroom de invoer-URL voorspelt met een categorie en bewijs.

Schermopname van het weergeven van tracering op de ontwerppagina.

 Schermopname van de knop Uitvoer weergeven op twee locaties.

U kunt het testresultaat weergeven selecteren om alle historische tests in een lijst te controleren.

Schermopname van webclassificatie met de knop Weergave-uitvoer.

Schermopname van het resultaat van de stroomtest.

Testen en evalueren

Nadat de stroom is uitgevoerd met één rij gegevens, kunt u testen of deze goed presteert in een grote set gegevens, kunt u een bulktest uitvoeren en enkele evaluatiemethoden kiezen en vervolgens de metrische gegevens controleren.

Gegevens voorbereiden

U moet eerst testgegevens voorbereiden. We ondersteunen voorlopig csv-, tsv- en jsonl-bestand.

Ga naar GitHub om 'data.csv' te downloaden, de gouden gegevensset voor het voorbeeld van webclassificatie.

Evalueren

Selecteer de knop Evalueren naast de knop Uitvoeren en vervolgens wordt er een rechterpaneel weergegeven. Het is een wizard die u helpt bij het verzenden van een batchuitvoering en het selecteren van de evaluatiemethode (optioneel).

U moet een batchuitvoeringsnaam, beschrijving instellen en vervolgens nieuwe gegevens toevoegen selecteren om de gegevens te uploaden die u hebt gedownload. Nadat u de gegevens hebt geüpload of als uw collega's in de werkruimte al een gegevensset hebben gemaakt, kunt u de gegevensset kiezen in de vervolgkeuzelijst en de eerste vijf rijen bekijken. De vervolgkeuzelijst voor selectie van gegevenssets ondersteunt zoeken en automatische suggesties.

Daarnaast ondersteunt de invoertoewijzing het toewijzen van uw stroominvoer aan een specifieke gegevenskolom in uw gegevensset. Dit betekent dat u elke kolom als invoer kunt gebruiken, zelfs als de kolomnamen niet overeenkomen.

Schermopname van Batch-uitvoering en -evaluatie, waarbij het uploaden van nieuwe gegevens wordt gemarkeerd.

Selecteer vervolgens een of meerdere evaluatiemethoden. De evaluatiemethoden zijn ook stromen die gebruikmaken van Python of LLM, om metrische gegevens te berekenen, zoals nauwkeurigheid, relevantiescore. De ingebouwde evaluatiestromen en aangepaste stromen worden weergegeven op de pagina. Omdat webclassificatie een classificatiescenario is, is het geschikt om de evaluatie van de classificatienauwkeurigheid te selecteren die moet worden geëvalueerd.

Schermopname van webclassificatie met de batchuitvoering en evaluatiemethoden.

Als u wilt weten hoe de metrische gegevens worden gedefinieerd voor ingebouwde evaluatiemethoden, kunt u een voorbeeld van de evaluatiestromen bekijken door meer details te selecteren.

Nadat u Classificatienauwkeurigheidsevaluatie als evaluatiemethode hebt geselecteerd, kunt u interfacetoewijzing instellen om de grondwaar toe te wijzen aan stroominvoer en voorspelling naar stroomuitvoer.

Schermopname van webclassificatie met de batchuitvoering en evaluatie van de evaluatie-instellingen.

Selecteer Vervolgens Beoordelen en verzenden om een batchuitvoering en de geselecteerde evaluatie te verzenden .

Resultaten controleren

Wanneer de uitvoering is verzonden, selecteert u De uitvoeringslijst weergeven om naar de lijst met batchuitvoeringen van deze stroom te navigeren.

Het uitvoeren van de batch kan enige tijd duren. U kunt de pagina vernieuwen om de meest recente status te laden.

Nadat de batchuitvoering is voltooid, selecteert u de uitvoering en visualiseert u de uitvoer om het resultaat van de batchuitvoering weer te geven. Selecteer Uitvoer weergeven (oogpictogram) om evaluatieresultaten toe te voegen aan de tabel met batchuitvoeringsresultaten. U kunt het totale aantal token en de algehele nauwkeurigheid zien. Vervolgens ziet u in de tabel de resultaten voor elke rij met gegevens: invoer, stroomuitvoer en evaluatieresultaten (welke gevallen correct worden voorspeld en die niet.)

Schermopname van de pagina met details van de webclassificatiebatch om uitvoer weer te geven.

U kunt de kolombreedte aanpassen, kolommen verbergen/zichtbaar maken, kolomvolgordes wijzigen. U kunt ook Exporteren selecteren om de uitvoertabel te downloaden voor verder onderzoek. We bieden twee opties:

  • Huidige pagina downloaden: een CSV-bestand van de uitvoer van batchuitvoeringen op de huidige pagina.
  • Download alle gegevens: wat uw download een Jupyter-notebookbestand is, moet u het uitvoeren om uitvoer in jsonl- of CSV-indeling te downloaden.

Zoals u misschien weet, is nauwkeurigheid niet de enige metrische waarde die een classificatietaak kan evalueren. U kunt bijvoorbeeld ook relevante overeenkomsten gebruiken om te evalueren. In dit geval kunt u Evalueren selecteren naast de knop Uitvoer visualiseren, andere evaluatiemethoden kiezen om te evalueren.

Implementatie

Nadat u een stroom hebt gebouwd en deze correct hebt getest, wilt u deze mogelijk implementeren als een eindpunt, zodat u het eindpunt kunt aanroepen voor realtime deductie.

Het eindpunt configureren

Selecteer de koppeling batchuitvoering en vervolgens wordt u omgeleid naar de detailpagina van de batchuitvoering en selecteert u Implementeren. Er wordt een wizard weergegeven waarmee u het eindpunt kunt configureren. Geef een eindpunt en implementatienaam op, selecteer een virtuele machine, stel verbindingen in, voer enkele instellingen uit (u kunt de standaardinstellingen gebruiken), selecteer Controleren en maken om de implementatie te starten.

Het eindpunt testen

U kunt vanuit de melding naar de detailpagina van uw eindpunt gaan of door in het linkernavigatievenster van Studio naar Eindpunten te navigeren en vervolgens het eindpunt te selecteren op het tabblad Realtime-eindpunten. Het implementeren van het eindpunt duurt enkele minuten. Nadat het eindpunt is geïmplementeerd, kunt u het testen op het tabblad Testen .

Plaats de URL die u wilt testen in het invoervak en selecteer Testen. Vervolgens ziet u het resultaat dat door uw eindpunt wordt voorspeld.

Resources opschonen

Als u van plan bent om nu door te gaan met handleidingen en de resources die u hier hebt gemaakt, wilt gebruiken, gaat u verder met de volgende stappen.

Rekenproces stoppen

Als u deze nu niet gaat gebruiken, stopt u het rekenproces:

  1. Selecteer Compute in het linkernavigatiegebied in de studio.
  2. Selecteer op de bovenste tabbladen Rekeninstanties
  3. Selecteer het rekenproces in de lijst.
  4. Selecteer Stoppen op de bovenste werkbalk.

Alle resources verwijderen

Als u niet van plan bent om een van de resources te gebruiken die u hebt gemaakt, verwijdert u deze zodat er geen kosten in rekening worden gebracht:

  1. Selecteer Resourcegroepen links in Azure Portal.
  2. Selecteer de resourcegroep die u hebt gemaakt uit de lijst.
  3. Selecteer Resourcegroep verwijderen.

Volgende stappen

Nu u een idee hebt van wat er betrokken is bij het ontwikkelen, testen, evalueren en implementeren van stromen, leert u meer over het proces in deze zelfstudies: