Utveckla ett standardflöde (förhandsversion)
Du kan utveckla ditt flöde från grunden genom att skapa ett standardflöde. I den här artikeln får du lära dig hur du utvecklar standardflödet på redigeringssidan.
Du kan snabbt börja utveckla ditt standardflöde genom att följa den här videoguiden:
En snabb video-självstudie finns här: självstudie om standardflödesvideo.
Viktigt
Prompt-flödet är för närvarande i offentlig förhandsversion. Den här förhandsversionen tillhandahålls utan serviceavtal och rekommenderas inte för produktionsarbetsbelastningar. Vissa funktioner kanske inte stöds eller kan vara begränsade. Mer information finns i Kompletterande villkor för användning av Microsoft Azure-förhandsversioner.
Skapa ett standardflöde
På startsidan för promptflödet kan du skapa ett standardflöde från grunden. Välj knappen Skapa .
När du har valt Skapa, som du ser i den högra panelen, sparas det nya flödet i en specifik mapp i din arbetsytefilresurslagring. Du kan anpassa mappnamnet enligt dina inställningar.
Redigeringssida
När du har skapat det anger du redigeringssidan för flödesutveckling.
Till vänster är det plattningsvyn, det huvudsakliga arbetsområdet där du kan redigera 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 infoga redigering av noden i vyn Platta ut kan du också aktivera växlingsknappen Raw-filläge och välja filnamnet för att redigera filen på den öppna filfliken.
I det nedre högra hörnet är det bara grafvyn för visualisering. Du kan zooma in, zooma ut, autolayout osv.
Anteckning
Du kan inte redigera diagramvyn. Om du vill redigera en verktygsnod kan du dubbelklicka på noden för att leta upp motsvarande verktygskort i vyn platta ut och sedan redigera den infogade filen.
Välj körning
Innan du börjar redigera för att utveckla ditt flöde bör du först välja en körningsmiljö. Välj Körning överst och välj en tillgänglig som passar din flödeskörning.
Viktigt
Du kan inte spara den infogade redigeringen av verktyget utan en körning!
Flödesindata
Flödesindata är de data som du vill bearbeta i ditt flöde. När du visar avsnittet Indata på redigeringssidan kan du ange och visa dina flödesindata, inklusive indataschema (namn och typ) och indatavärdet.
För webbklassificeringsexempel som visas på skärmbilden nedan är flödesindata en URL av strängtyp.
Vi stöder även indatatypen int, bool, double, list och object.
Utveckla flödet med olika verktyg
I ett flöde kan du använda olika typer av verktyg. Nu har vi stöd för LLM, Python, Serp API, Content Safety, Vector Search osv.
Lägg till verktyg efter behov
Genom att välja verktygskortet längst upp lägger du till en ny verktygsnod som ska flöda.
Redigera verktyg
När en ny verktygsnod läggs till i flödet läggs den längst ned i vyn platta ut med ett slumpmässigt namn som standard. Det nya verktyget som lagts till visas också överst i diagramvyn.
Längst upp på varje verktygsnodkort finns ett verktygsfält för att justera verktygsnoden. Du kan flytta den uppåt eller nedåt. Du kan också ta bort eller byta namn på den.
Välj anslutning
I VERKTYGET LLM väljer du Anslutning för att välja en för att ange LLM-nyckeln eller autentiseringsuppgifterna.
Infogad redigering av prompt- och Python-kod
I VERKTYGET LLM och Python-verktyget är det tillgängligt för infogad redigering av prompten eller koden. Gå till kortet i vyn platta ut, välj promptavsnittet eller kodavsnittet. Sedan kan du göra din ändring där.
Verifiera och köra
Om du vill testa och felsöka en enskild nod väljer du ikonen Kör på noden i vyn Platta ut. Körningsstatusen visas överst på skärmen. Om körningen misslyckas visas en felmeddelandebanderoll. Om du vill visa nodens utdata går du till noden och öppnar utdataavsnittet. Du kan se utdatavärdet, spårningen och loggarna för den enskilda stegkörningen.
Statusen för en enskild nod visas också i diagramvyn.
Du kan också ändra flödets indata-URL för att testa nodbeteendet för olika URL:er.
Länka ditt flöde – länka ihop noder
Innan du länkar noder måste du definiera och exponera ett gränssnitt.
Definiera LLM-nodgränssnittet
LLM-noden har bara en utdata, vilket är slutförande som tillhandahålls av LLM-providern.
När det gäller indata erbjuder vi en mallstrategi som kan hjälpa dig att skapa parametriska prompter som accepterar olika indatavärden. I stället för fast text omger du indatanamnet i {{}}
, så att det kan ersättas direkt. Vi använder Jinja som vårt mallspråk.
Redigera promptrutan för att definiera indata med hjälp av {{input_name}}
.
Definiera Python-nodgränssnitt
Python-noden kan ha flera indata och utdata. Definiera indata och utdata enligt nedan. Om du har flera utdata ska du komma ihåg att göra det till en ordlista så att nedströmsnoden kan anropa varje nyckel separat.
Länka ihop noder
När gränssnittet har definierats kan du använda:
- ${inputs.key} för att länka med flödesindata.
- ${upstream_node_name.output} för att länka med en överordnade nod med en utdata.
- ${upstream_node_name.output.key} för att länka till en överordnade nod med flera utdata.
Nedan visas vanliga scenarier för att länka ihop noder.
Scenario 1 – Länka LLM-noden med flödesindata
- Lägg till en ny LLM-nod, byt namn på den med ett beskrivande namn, ange anslutning och API-typ.
- Redigera promptrutan, lägg till indata från
{{url}}
, välj Verifiera och parsa indata. Därefter visas ett indata med namnet URL som skapas i indataavsnittet. - I listrutan värde väljer du ${inputs.url}. I grafvyn ser du att den nyligen skapade LLM-noden är länkad till flödesindata. När du kör flödet ersätts URL-indata för noden med flödesindata i farten.
Scenario 2 – Länka LLM-nod med en överordnade nod med en utdata
- Redigera promptrutan, lägg till ytterligare indata från
{{summary}}
, välj Verifiera och parsa indata. Sedan visas en indata som kallas sammanfattning skapas i indataavsnittet. - I listrutan värde väljer du ${summarize_text_content.output}. I grafvyn ser du att den nyligen skapade LLM-noden är länkad till den överordnade summarize_text_content noden. När du kör flödet ersätts sammanfattningsindata för noden med summarize_text_content nodutdata i farten.
Vi stöder sökning och automatisk förslagssökning här i listrutan. Du kan söka efter nodnamn om du har många noder i flödet.
Du kan också navigera till den nod som du vill länka till, kopiera nodnamnet, gå tillbaka till den nyskapade LLM-noden och klistra in in indatavärdefältet.
Scenario 3 – Länka LLM-nod med överordnade noder med flera utdata
Anta att vi vill länka den nyligen skapade LLM-noden med covert_to_dict Python-nod vars utdata är en ordlista med två nycklar: kategori och bevis.
- Välj Redigera bredvid promptrutan, lägg till ytterligare indata från
{{category}}
och sedan visas en indata som kallas kategori som skapas i avsnittet indata. - I listrutan värde väljer du ${convert_to_dict.output}, sedan lägger till kategorin manuellt. I grafvyn ser du att den nyligen skapade LLM-noden är länkad till den överordnade convert_to_dict noden. När du kör flödet ersätts kategoriindata för noden med kategorivärde från convert_to_dict ordlista för nodutdata i farten.
Scenario 4 – Länka Python-noden med överordnade noder/flödesindata
- Först måste du redigera koden och lägga till indata i python-funktionen.
- Länkningen är samma som LLM-noden med hjälp av ${flow.input_name} för att länka till flödesindata eller ${upstream_node_name.output1} för att länka till överordnade noder.
Körning av flöde
Om du vill testa och felsöka hela flödet väljer du knappen Kör längst upp till höger.
Ange och kontrollera flödesutdata
När flödet är komplicerat kan du i stället för att kontrollera utdata på varje nod ange flödesutdata och kontrollera utdata för flera noder på ett och samma ställe. Dessutom hjälper flödesutdata:
- Kontrollera masstestresultaten i en enda tabell.
- Definiera mappning av utvärderingsgränssnitt.
- Ange distributionssvarsschema.
Definiera först flödesutdataschemat och välj sedan i listrutan den nod vars utdata du vill ange som flödesutdata. Eftersom convert_to_dict har ordlisteutdata med två nycklar: kategori och bevis måste du lägga till kategori och bevis manuellt till var och en. Kör sedan flödet, efter ett tag, kan du kontrollera flödesutdata i en tabell.