Dela via


Skapa ett arbetsflöde i Microsoft Foundry

Arbetsflöden är gränssnittsbaserade verktyg i Microsoft Foundry. Använd dem för att skapa deklarativa, fördefinierade sekvenser med åtgärder som samordnar agenter och affärslogik i en visuell byggare.

Med arbetsflöden kan du skapa intelligenta automatiseringssystem som sömlöst blandar AI-agenter med affärsprocesser på ett visuellt sätt. Traditionella system med en agent är begränsade i sin förmåga att hantera komplexa, mångfacetterade uppgifter. Genom att samordna flera agenter, var och en med specialiserade kunskaper eller roller, kan du skapa system som är mer robusta, anpassningsbara och kan lösa verkliga problem tillsammans.

Förutsättningar

Bestämma när arbetsflöden ska användas

Arbetsflöden är idealiska för scenarier där du behöver:

  • Dirigera flera agenter i en repeterbar process.
  • Lägg till förgreningslogik (till exempel om/annars) och variabelhantering utan att skriva kod.
  • Skapa mänskliga steg i loopen (till exempel godkännanden eller klargörande frågor).

Om du vill redigera arbetsflödets YAML i Visual Studio Code eller köra arbetsflöden på en lokal lekplats kan du läsa:

Förstå arbetsflödesmönster

Foundry innehåller mallar för vanliga orkestreringsmönster. Börja med ett tomt arbetsflöde eller välj en mall:

Mönster Description Vanligt användningsfall
Människa i processen Ställer en fråga till användaren och väntar på användarens inmatning för att fortsätta Skapa begäranden om godkännande under arbetsflödeskörning och vänta på mänskligt godkännande eller hämta information från användaren
Sekventiell Skickar resultatet från en agent till nästa i en definierad ordning Stegvisa arbetsflöden, pipelines eller bearbetning i flera steg
Gruppchatt Skickar dynamiskt kontroll mellan agenter baserat på kontext eller regler Scenarier för dynamiska arbetsflöden, eskalering, reservlösning eller experthantering

Mer information finns i Arbetsflödesorkestreringar för Microsoft Agent Framework.

Skapa ett arbetsflöde

Den här proceduren visar hur du skapar ett sekventiellt arbetsflöde. Samma allmänna steg gäller för andra arbetsflödestyper.

  1. Logga in på Microsoft Foundry. Kontrollera att växlingsknappen New Foundry är aktiverad. Dessa steg hänvisar till Foundry (ny).

  2. På den övre högra menyn väljer du Skapa.

  3. Välj Skapa nytt arbetsflöde>Sekventiellt.

  4. Tilldela en agent till agentnoderna genom att välja varje agentnod i arbetsflödet och antingen välja önskad agent eller skapa en ny. Mer information finns i Lägga till agenter senare i den här artikeln.

  5. Spara ändringarna genom att välja Spara i visualiseraren.

    Viktigt!

    Foundry sparar inte arbetsflöden automatiskt. Välj Spara efter varje ändring för att bevara ditt arbete.

  6. Välj Kör arbetsflöde.

  7. Interagera med arbetsflödet i chattfönstret.

  8. Du kan också lägga till nya noder i arbetsflödet. Nästa avsnitt i den här artikeln innehåller information om noder.

Verifiera din arbetsflödeskörning

När du har valt Kör arbetsflöde kontrollerar du att:

  • Varje nod slutförs i visualiseraren.
  • Du ser de förväntade svaren i chattfönstret.
  • Alla variabler som du sparar (till exempel JSON-utdata från en agentnod) innehåller de värden som du förväntar dig.

Lägga till noder

Noder är byggstenarna i arbetsflödet. Varje nod utför en specifik åtgärd i följd.

Vanliga nodtyper är:

  • Agent: Anropa en agent.
  • Logik: Använd if/else, gå till eller för varje.
  • Datatransformering: Ange en variabel eller parsa ett värde.
  • Grundläggande chatt: Skicka ett meddelande eller ställ en fråga till en agent.

När du väljer ett fördefiniert arbetsflöde visar byggverktyget noderna i följd. Om du vill ordna om noder väljer du de tre punkterna på en nod och väljer sedan Flytta. Om du vill lägga till noder väljer du plusikonen (+) på arbetsytan.

Lägga till agenter

Lägg till en Foundry-agent från projektet i arbetsflödet. Med agentnoder kan du också skapa nya agenter med anpassade funktioner genom att konfigurera deras modell, fråga och verktyg.

För avancerade alternativ för skapande av agent går du till fliken Foundry Agent i Foundry-portalen.

Lägga till en befintlig agent

  1. I arbetsflödets visualiserare väljer du plustecknet.

  2. I listrutan i popup-fönstret väljer du Anropa agent.

  3. I fönstret Skapa ny agent väljer du befintlig.

  4. Ange agentnamnet för att söka efter befintliga agenter i foundry-projektet.

  5. Välj önskad agent för att lägga till den i arbetsflödet.

Skapa en ny agent

  1. I arbetsflödets visualiserare väljer du plustecknet.

  2. I listrutan i popup-fönstret väljer du Anropa agent.

  3. Ange ett agentnamn och en beskrivning av vad agenten gör.

  4. Välj Lägg till.

  5. I fönstret Anropa en agent konfigurerar du agenten.

  6. Välj Spara.

Konfigurera ett utdatasvarsformat

Så här konfigurerar du en agent för att returnera strukturerade JSON-utdata:

  1. I fönstret Anropa agentkonfiguration väljer du Skapa en ny agent.

  2. Konfigurera agenten att skicka utdata som ett JSON-schema:

    1. Välj detaljer.
    2. Välj parameterikonen.
    3. För Textformat väljer du JSON-schema.

    Skärmbild som visar fönstret för att konfigurera ett JSON-schemaformat för utdata.

  3. Kopiera önskat JSON-schema och klistra in det i fönstret Lägg till svarsformat . Följande skärmbild visar ett matematiskt exempel. Välj Spara.

    Skärmbild som visar tillägget av ett svarsformat i JSON.

Viktigt!

Inkludera inte hemligheter (lösenord, nycklar, token) i JSON-scheman, prompter eller sparade arbetsflödesvariabler.

{
  "name": "math_response",
  "schema": {
    "type": "object",
    "properties": {
      "steps": {
        "type": "array",
        "items": {
          "type": "object",
          "properties": {
            "explanation": {
              "type": "string"
            },
            "output": {
              "type": "string"
            }
          },
          "required": [
            "explanation",
            "output"
          ],
          "additionalProperties": false
        }
      },
      "final_answer": {
        "type": "string"
      }
    },
    "additionalProperties": false,
    "required": [
      "steps",
      "final_answer"
    ]
  },
  "strict": true
}
  1. Välj Åtgärdsinställningar. Välj sedan Spara utdata json_object/json_schema som.

  2. Välj Skapa ny variabel. Välj ett variabelnamn och välj sedan Klar.

    Skärmbild som visar alternativ för att skapa en ny variabel i ett Microsoft Foundry-arbetsflöde.

Konfigurera ytterligare funktioner

  • YAML-visualiseringsvy: Ange växlingsknappen för YAML Visualizer View till för att lagra arbetsflödet som en YAML-fil. Redigera i antingen visualiseraren eller YAML-vyn. När du sparar skapas en ny version med fullständig versionshistorik.

    Både visualiseraren och YAML kan redigeras. Ändringar i YAML-filen visas omedelbart i visualiseraren.

  • Versionshantering: Varje sparande skapar en ny, oföränderlig version. Om du vill visa versionshistorik eller ta bort äldre versioner öppnar du listrutan Version till vänster om knappen Spara .

  • Anmärkningar: Lägg till anteckningar i arbetsflödets visualiserare för extra kontext. I det övre vänstra hörnet av visualiseraren väljer du Lägg till anteckning.

Skapa uttryck med Power Fx

Power Fx är ett lågkodsformelspråk som använder formler ungefär som Excel. Använd Power Fx för att skapa komplex logik som gör att dina agenter kan manipulera data. En Power Fx-formel kan till exempel ange ett variabelvärde, parsa en sträng eller utvärdera ett villkor. Mer information finns i Power Fx-översikten och formelreferens.

Använd variabler i en formel

Om du vill använda en variabel i en Power Fx-formel måste du lägga till ett prefix till dess namn för att ange variabelns omfattning:

  • För systemvariabler använder du System.
  • För lokala variabler använder du Local.

Här är systemvariablerna:

Namn Description
Activity Information om den aktuella aktiviteten
Bot Information om agenten
Conversation Information om den aktuella konversationen
Conversation.Id Unikt ID för den aktuella konversationen
Conversation.LocalTimeZone Tidszon för användaren, i IANA-tidszondatabasformat
Conversation.LocalTimeZoneOffset Tidsförskjutning från UTC för den aktuella lokala tidszonen
Conversation.InTestMode Boolesk flagga som representerar om konversationen sker på en testarbetsyta
ConversationId Unikt ID för den aktuella konversationen
InternalId Intern identifierare för systemet
LastMessage Information om föregående meddelande som användaren skickade
LastMessage.Id ID för föregående meddelande som användaren skickade
LastMessage.Text Föregående meddelande som användaren skickade
LastMessageId ID för föregående meddelande som användaren skickade
LastMessageText Föregående meddelande som användaren skickade
Recognizer Information om avsiktsigenkänning och utlösande meddelande
User Information om användaren som för närvarande pratar med agenten
User.Language Språklokalisering per användare per konversation
UserLanguage Språklokalisering per användare per konversation

Använd bokstavliga värden i en formel

Förutom att använda variabler i en Power Fx formel kan du ange literala värden. Om du vill använda ett literalt värde i en formel måste du ange värdet i det format som motsvarar dess typ.

I följande tabell visas datatyperna och formatet för deras motsvarande literalvärden:

Typ Formatexempel
String "hi", , "hello world!""copilot"
Boolean Endast true eller false
Antal 1, 532, , 5.258-9201
Post och tabell [1], [45, 8, 2], ["cats", "dogs"], { id: 1 }, { message: "hello" }, { name: "John", info: { age: 25, weight: 175 } }
Datum och tid Time(5,0,23), , Date(2022,5,24)DateTimeValue("May 10, 2022 5:00:00 PM")
Alternativ Stöds inte
Blank Endast Blank()

Vanliga Power Fx-formler

I följande tabell visas de Power Fx-formler som du kan använda med varje datatyp.

Typ Power Fx-formler
String Textfunktion
Funktionerna Concat och Concatenate
Len-funktionen
Funktionerna Lower, Upper och Proper
Funktionerna IsMatch, Match och MatchAll
Funktionerna EndsWith och StartsWith
Sökfunktion
Funktionerna Replace och Substitute
Boolean Boolean-funktion
Funktionerna And, Or och Not
If- och Switch-funktioner
Antal Funktionerna Decimal, Float och Value
Funktionerna Int, Round, RoundDown, RoundUp och Trunc
Post och tabell Funktionerna Concat och Concatenate
Funktionerna Count, CountA, CountIf och CountRows
Funktionen ForAll
Funktionerna First, FirstN, Index, Last och LastN
Funktionerna Filter, Search och LookUp
JSON-funktion
Funktionen ParseJSON
Datum och tid Funktionerna Date, DateTime och Time
Funktionerna DateValue, TimeValue och DateTimeValue
Funktionerna Day, Month, Year, Hour, Minute, Second och Weekday
Funktionerna Now, Today, IsToday, UTCNow, UTCToday, IsUTCToday - funktioner
Funktionerna DateAdd, DateDiff och TimeZoneOffset
Textfunktion
Blank Funktionerna Blank, Coalesce, IsBlank och IsEmpty
Funktionerna Error, IfError, IsError, IsBlankOrError

Ange en variabel med Power Fx

Det här exemplet visar hur du lagrar och matar ut en kunds namn med versaler:

  1. Skapa ett arbetsflöde och lägg till noden Ställ en fråga .

  2. I fönstret som visas går du till rutan Ställ en fråga och anger Vad är ditt namn? eller ett annat meddelande. I rutan Spara användarsvar som anger du ett variabelnamn. till exempel Var01. Markera sedan Klar.

    Skärmbild som visar konfigurationen av en fråga för att skicka ett meddelande.

  3. Lägg till åtgärden Skicka meddelande . I fönstret som visas i området Meddelande att skicka anger du {Upper(Local.Var01)}. Markera sedan Färdig.

    Skärmbild som visar variabelns instansiering för åtgärden att skicka ett meddelande.

  4. Välj Förhandsversion.

  5. I förhandsgranskningsfönstret skickar du ett meddelande till agenten för att anropa arbetsflödet.

    Skärmbild som visar förhandsgranskningen av en fråga för åtgärden att skicka ett meddelande.

Skapa om/annars-flöden med Power Fx

Det här exemplet visar hur du lägger till ett if/else-flöde och skapar ett villkor med systemvariabler.

  1. Skapa ett arbetsflöde och lägg till noden Ställ en fråga .

  2. + Välj ikonen och lägg till ett if/else-flöde.

  3. Skriv System. i rutan Villkor för att skapa en villkorssats för varje if/else-gren.

    En skärmbild som visar systemvariablerna i textrutan if-else-villkor.

  4. Välj nästa åtgärd för nästa steg i arbetsflödet.

  5. Välj Färdig. Välj Spara för att spara arbetsflödet.

Felsökning

Problematik Lösning
Alternativet Arbetsflöden visas inte eller kan inte skapa/redigera arbetsflöden Bekräfta att du har rollen Deltagare eller högre i projektet. Se Rollbaserad åtkomstkontroll för Azure (RBAC) i Foundry.
Ändringar visas inte efter redigering Välj Spara i visualiseraren. Foundry sparar inte ändringar automatiskt.
Arbetsflödeskörning ger oväntade utdata Kontrollera att varje agentnod har en tilldelad agent. Kontrollera att sparade utdata (JSON-schema) är giltiga.
Power Fx-formelfel: "Namnet är inte giltigt" Lägg till rätt omfångsprefix. Används System. för systemvariabler och Local. för lokala variabler.
Power Fx-formelfel: "Typmatchningsfel" Kontrollera att variabeltypen matchar förväntade indata. Använd konverteringsfunktioner som Text() eller Value() om det behövs.
Tidsgränsen för arbetsflödet Dela upp komplexa arbetsflöden i mindre segment. Kontrollera att externa tjänster svarar inom förväntade tidsramar.

Rensa resurser

Om du vill ta bort ett arbetsflöde behöver du inte längre:

  1. Öppna arbetsflödet i Foundry-portalen.
  2. Välj listrutan Version till vänster om knappen Spara .
  3. Välj Ta bort för den version som du vill ta bort.