5. Samla in objekt och påverkan
Prompten är skapad, men ämnet använder ännu inte resultatet. Nu kopplar vi promptens in- och utdata, sparar objekt-ID och påverkan och ställer följdfrågor när något saknas.
När kapitlet är klart har du:
- kopplat ämnets felbeskrivning och bild till prompten
- sparat promptens svar i
FaultAnalysis - bett om ett objekt-ID när analysen inte hittar något
- validerat objekt-ID med en egen regex-entitet
- bett användaren välja påverkan när prompten returnerar
Okänd
Fortsätt spara efter varje nod
Välj Spara när du har fyllt i och namngett en nod. Gör samma sak efter varje villkor och frågenod.
Del 1: Koppla promptens indata
När du stänger promptbyggaren ligger prompten som en ny nod i ämnet. Byt namn på noden till:
Analysera felbeskrivning och bild

Koppla promptens indata så här:
| Promptens indata | Ämnets variabel |
|---|---|
Felbeskrivning |
FaultDescription |
Felbild |
FaultImage |
Öppna variabelväljaren för respektive fält och välj variabeln med samma innehåll. Noden visar ett felmeddelande tills båda är kopplade.

Under Utdata öppnar du variabelväljaren och väljer Skapa en ny variabel.

Variabeln får det tillfälliga namnet Var1. Typen är redan record, eftersom den härleds från promptens JSON-format.

Byt namn på den till:
FaultAnalysis

Välj Spara.
Del 2: Spara objekt-ID från analysen
Lägg till Variabelhantering > Ange ett variabelvärde under promptnoden.

Byt namn på noden till:
Sätt objekt-ID från analys

Öppna Ange variabel och välj Skapa en ny variabel.

Ge variabeln namnet:
AssetId
Typen står som unknown tills du har valt ett värde.

I Till värde väljer du:
FaultAnalysis.structuredOutput.assetIdCandidate
Sök i stället för att bläddra
Skriv assetIdCandidate i sökrutan i variabelväljaren. Då slipper du öppna FaultAnalysis och leta dig ned genom varje nivå.
När värdet är valt blir AssetId automatiskt en sträng.
Välj Spara.
Del 3: Fråga när objekt-ID saknas
Lägg till ett villkor under den färdiga noden.

Villkoret får två grenar.

Byt namn på den vänstra grenen till:
Kontrollera objekt-ID
Öppna variabelväljaren i grenen och välj AssetId.

Öppna operatorlistan och välj är tom.

Värdefältet försvinner, eftersom operatorn inte behöver något jämförelsevärde.

Den vänstra grenen körs bara när prompten inte hittade ett giltigt objekt-ID. Alla övriga villkor fortsätter utan någon fråga.
Lägg till frågan
Under den vänstra grenen lägger du till Ställ en fråga. Byt namn på noden till:
Be om objekt-ID
Noden är röd tills du har skrivit frågan. Identifiera står på Flervalsalternativ från början, och det ändrar vi strax.

Skriv frågan:
Vilket objekt gäller det? Ange objekt-ID i formatet LO-TT-NNN, till exempel LO-PU-017.

Skapa en entitet för objekt-ID
Öppna Identifiera och välj Skapa en entitet högst upp i panelen.

Välj sedan Reguljärt uttryck (Regex).

Ange namnet:
Lyserno objekt-ID
Ange beskrivningen:
Identifierar Lysernos objekt-ID i användarens svar. Ett objekt-ID består av prefixet LO, en tvåställig typkod och ett tresiffrigt löpnummer, till exempel LO-PU-017 eller LO-VA-012.
Ange mönstret:
(?i)\bLO-[A-Z]{2}-[0-9]{3}\b

Välj Spara. Tillbaka i frågenoden ska Identifiera visa Lyserno objekt-ID.
Under Spara användarsvar som väljer du den befintliga variabeln:
AssetId

Tvinga frågan att visas
Öppna nodens meny med tre punkter och välj Egenskaper. Öppna Frågebeteende. Ändra Hoppa över fråga från Formel till Manuella indata och välj Fråga varenda gång.


Det kan verka överflödigt eftersom frågan redan ligger i grenen AssetId är tom. Inställningen hindrar frågenoden från att hoppa över sig själv när variabeln har initierats tidigare i ämnet.
Välj Spara.
Del 4: Spara påverkan från analysen
Lägg till Variabelhantering > Ange ett variabelvärde efter att objekt-ID-grenarna har gått ihop. Välj plustecknet under sammanslagningen, inte inne i någon av grenarna.

Byt namn på noden till:
Sätt påverkan från analys
Öppna Ange variabel och välj Skapa en ny variabel.

Ge variabeln namnet:
ImpactLevel

I Till värde väljer du:
FaultAnalysis.structuredOutput.impactLevel
Sök även här
Skriv impactLevel i sökrutan i variabelväljaren. Välj fältet under FaultAnalysis.structuredOutput, inte någon variabel med ett liknande namn.

Välj Spara.
Det här är samma mönster som i Del 2, med samma fyra steg. Skillnaden är bara vilket fält som hämtas ur analysen.
Del 5: Fråga när påverkan är okänd
Lägg till ett villkor under den färdiga noden.

Byt namn på den vänstra grenen till:
Kontrollera påverkan
Öppna variabelväljaren och välj ImpactLevel.

Välj operatorn är lika med och skriv värdet:
Okänd

Under den vänstra grenen lägger du till Ställ en fråga.

Byt namn på noden till:
Be om påverkan
Använd följande fråga:
Vilken påverkan har felet på drift eller säkerhet?
- Liten: driften och säkerheten påverkas inte.
- Begränsad: utrustningen fungerar med nedsatt funktion.
- Stoppad: utrustningen kan inte användas.
- Säkerhetsrisk: felet innebär en konkret risk för människor.

Förklaringarna i frågan är till för användaren. Prompten har redan samma definitioner i sina regler, så den som svarar och den som analyserar utgår från samma beskrivning.
Behåll Flervalsalternativ. Välj Nytt alternativ och skriv:
Liten

Lägg till de tre återstående på samma sätt:
Begränsad
Stoppad
Säkerhetsrisk

Alternativen måste stavas exakt som promptens värden. Skriver du Stoppat i stället för Stoppad matchar villkoret i nästa kapitel inte längre.
Skapa sedan variabeln för användarens val:
ImpactChoice
Typen blir choice, eftersom den härleds från flervalsfrågan.

Ta bort de villkor som skapades automatiskt
Copilot Studio lägger själv till en villkorsgren per alternativ när du skapar en flervalsfråga. De ligger direkt under frågan och vi använder dem inte, eftersom påverkan hanteras av en enda variabel.
Öppna de tre punkterna på varje villkorsnod och välj Ta bort. Ta även bort Alla övriga villkor som hör till dem.

Välj Spara.
Skriv tillbaka valet till ImpactLevel
Lägg till Variabelhantering > Ange ett variabelvärde direkt under frågan, fortfarande i grenen Kontrollera påverkan.

Byt namn på noden till:
Sätt vald påverkan

Öppna Ange variabel och sök på ImpactLevel. Välj variabeln Topic.ImpactLevel, inte fältet FaultAnalysis.structuredOutput.impactLevel. Vi skriver till ämnets arbetsvärde, inte tillbaka in i promptens svar.

Öppna Till värde, gå till fliken Formel och ange:
Text(Topic.ImpactChoice)

ImpactChoice är ett valobjekt. Text gör om det valda alternativet till samma strängformat som prompten använder. Utdata i rutan visar grön bock när formeln är giltig.
Välj Infoga och sedan Spara.
Vad ämnet gör nu
Ämnet har två likadana kontrollmönster:
- Använd promptens värde.
- Kontrollera om värdet saknas eller är okänt.
- Fråga användaren bara när det behövs.
- Fortsätt med ett enhetligt strängvärde efter att grenarna har gått ihop.
Det gör att nästa steg kan använda AssetId och ImpactLevel utan att veta om värdet kom från prompten eller en följdfråga.
Underlaget är redo att verifieras
Ämnet har nu ett objekt-ID i rätt format och ett värde för påverkan. I nästa kapitel skapar vi anslutningen till T-Berg DU och verifierar objektet mot underhållssystemet.