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 .

Skärmbild av startsidan för promptflödet som visar hur du skapar ett nytt flöde med standardflödet markerat.

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.

Skärmbild av att ange flödesmappens namn när du skapar ett flöde.

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.

Skärmbild av webbklassificering som visar huvudarbetsytan.

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.

Skärmbild av webbklassificering som markerar mappstrukturens område.

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.

Skärmbild av filredigeringsfliken 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.

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.

Skärmbild av webbklassificering som markerar grafvyområdet.

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!

Skärmbild av den nedrullningsbara menyn körning som visar två olika körningar.

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.

Skärmbild av webbklassificering som markerar indatanoden och knappen Lägg till indata.

Vi stöder även indatatypen int, bool, double, list och object.

Skärmbild av indata som visar den nedrullningsbara menyn typ med strängen markerad.

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.

Skärmbild av verktygskortet som visar den nedrullningsbara menyn från att välja fler verktyg.

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.

Skärmbild av Python-noden och dess plats i grafvyn.

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.

Skärmbild av Python-verktygsnoden som visar knapparna i verktygsfältet.

Välj anslutning

I VERKTYGET LLM väljer du Anslutning för att välja en för att ange LLM-nyckeln eller autentiseringsuppgifterna.

Skärmbild av noden sammanfatta textinnehåll med anslutningen markerad.

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.

Animering av infogad redigering av prompten i LLM-verktyget.

Animering av infogad redigering av koden i Python-verktyget.

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.

Skärmbild som visar var körningsikonen på noden finns och knappen Visa fullständiga utdata.

Du kan också ändra flödets indata-URL för att testa nodbeteendet för olika URL:er.

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}}.

Skärmbild av redigering av promptrutan för att definiera indata.

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.

Skärmbild av Python-kod som markerar platsen för att definiera indata och utdata.

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.

  1. Lägg till en ny LLM-nod, byt namn på den med ett beskrivande namn, ange anslutning och API-typ.
  2. 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.
  3. 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.

Skärmbild av scenario ett som visar LLM-verktyget och redigerar prompten i steg 1.

Skärmbild av scenario ett som visar LLM-verktyget och redigerar prompten i steg 2.

  1. 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.
  2. 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.

Animering av scenario två som redigerar prompten och indata.

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.

Animering av LLM-noden som visar hur kopiering av nodnamnet fungerar.

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.

  1. 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.
  2. 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.

Skärmbild av LLM-verktyget som markerar kategorivärdet.

  1. Först måste du redigera koden och lägga till indata i python-funktionen.
  2. 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.

Gif av Python-noden som visar hur du redigerar koden och väljer ett värde i listrutan värde.

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.

Skärmbild av flödessidan med körningsknappen markerad.

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.

Skärmbild av utdata som visar den nedrullningsbara menyn för värdet.

Skärmbild av webbklassificering som markerar knappen visa utdata.

Skärmbild av utdata som visar att statusen har slutförts och information för utdata.

Nästa steg