Práce s proměnnými
Můžete používat proměnné a uložit odpovědi zákazníků a znovu je použít později v konverzaci.
Můžete také použít proměnné k vytvoření logických výrazů, které dynamicky směrují zákazníka různými cestami konverzace. Například uložte jméno zákazníka do proměnné s názvem „customerName“ a agent může během konverzace oslovit zákazníka jménem.
Proměnné lze také předávat a vracet z jiných témat a toků Power Automate.
Vytvoření proměnné
Libovolný uzel, který vás vyzve k výběru proměnné jako výstupu, jako je například uzel Otázka, automaticky vytváří výstupní proměnnou příslušného typu.
Tip
Přejmenujte uzly, abyste je snáze identifikovali. Chcete-li název aktualizovat přímo, vyberte pole názvu uzlu nebo vyberte ikonu Další (…) pro uzel a z nabídky vyberte Přejmenovat. Můžete také přejmenovat uzly v editoru kódu.
Není možné přejmenovat uzly Trigger a Přejít na krok.
Názvy uzlů mohou mít délku až 500 znaků.
Výběr použité entity
Ve výchozím nastavení jsou vytvořeny uzly Otázka s možností výběru z více možností. Chcete-li použít jinou předem připravenou nebo vlastní entitu, zaškrtněte políčko Identifikovat a zvolte typ informací, které má agent naslouchat.
Přejmenování proměnné
Proměnným je po vytvoření automaticky přiřazen název. Nejlepším postupem je dát svým proměnným smysluplné názvy, aby byl jejich účel jasný každému, kdo musí spravovat vašeho agenta.
Vývěrem proměnné ji otevřete v podokně podokně proměnných.
V sekci Název proměnné zadejte nový název proměnné.
Nastavení proměnné
Obyčejně můžete použít uzel Otázka k uložení uživatelského vstupu do proměnné. Mohou však nastat situace, kdy budete chtít hodnotu proměnné nastavit sami. V těchto případech použijte uzel Nastavit hodnotu proměnné.
Vyberte Přidat uzel (+), přidejte uzel a poté vyberte Řízení proměnných>Nastavit hodnotu proměnné.
Vyberte pole v sekci Nastavit proměnnou a poté vyberte Vytvořit novou proměnnou.
Vytvoří se nová proměnná. Její typ je neznámý, dokud mu nepřiřadíte hodnotu.
Pro Hodnota do přiřaďte hodnotu pomocí jedné z následujících možností:
- Zadejte hodnotu literálu.
- Vyberte existující proměnnou stejného typu. Tím nastavíte proměnnou na stejnou hodnotu jako vybraná proměnná.
- Použití vzorce Power Fx. Vzorce Power Fx jsou užitečné u složitějších typů, kde nelze použít doslovné hodnoty, například u typů Tabulka a Záznam.
Poznámka:
Pokud při nastavování proměnné typu řetězec narazíte na neshodu mezi hodnotou Nastavit proměnnou a Na hodnotu, zobrazí se chybová zpráva a tlačítko Opravit neshodu typu. Vyberte tlačítko, pokud chcete, aby Copilot Studio se automaticky vygeneroval Power Fx vzorec , který vyřeší nesoulad.
Použití proměnných v akčních uzlech
Když použijete proměnnou v uzlu akce, pokud její základní typ odpovídá typu parametru, který je zadán pro tok nebo dovednost Bot Framework, můžete ji naplnit tímto parametrem. Výstup z uzlů akce generuje nové proměnné.
Použití hodnot literálů pro vstupy proměnných
V uzlech, kde můžete nastavit hodnotu vstupních parametrů, můžete vždy zadat hodnotu literálu místo výběru jiné proměnné jako hodnoty.
Uzel se pokouší interpretovat doslovné hodnoty jako řetězec, číslo nebo logickou hodnotu. Například 123 se interpretuje jako číslo. Pokud chcete tuto hodnotu interpretovat jako řetězec, můžete ji uzavřít do dvojitých uvozovek, například: „123“.
U některých scénářů (například používajících komplexní typy) může být nutné použít vzorec Power Fx k nastavení konkrétního typu.
Použití proměnných prostředí pro tajné klíče Azure Key Vault
Proměnná prostředí může odkazovat na tajný klíč v trezoru klíčů Key Vault. Tajné proměnné prostředí jsou zvláštním případem proměnných prostředí s jedinečnými aspekty.
Chcete-li vytvořit proměnnou prostředí tajného klíče v portálu Power Apps, musíte nakonfigurovat Key Vault.
Aby bylo Copilot Studio autorizováno ke čtení Key Vault, musíte provést následující akce:
Přiřaďte roli
Key Vault Secrets User
aplikaciMicrosoft Virtual Agents Service
.Chcete-li všem agentům z prostředí povolit přístup k tajnému klíči, vytvořte značku
AllowedEnvironments
pro tajný klíč a přidejte ID povolených prostředí oddělená čárkou.Chcete-li povolit používání tohoto trezoru klíčů Key Vault pouze konkrétním agentům v prostředí, vytvořte značku
AllowedAgents
a vložte identifikátor agenta ve formátu{envId}/{schemaName}
. V případě více hodnot je oddělte čárkami.
Pokud dosáhnete maximálního počtu znaků, ale přesto potřebujete přidat další agenty, přidejte další značku s popisným, ale jedinečným názvem (například: AllowedAgents2
).
Hodnota tajného klíče je uložena do mezipaměti v běhovém prostředí dialogu po dobu pěti minut. Neúspěšná čtení jsou uložena do mezipaměti po dobu 30 sekund.
Upozorňující
Přidáním tajného klíče do agent můžete vystavit hodnotu tohoto tajného klíče všem uživatelům, kteří mohou upravovat agent v prostředí, protože tito uživatelé mohou upravit agent tak, aby vrátila hodnotu v uzlu SendMessage
.
Podokno proměnných
Podokno Proměnné je místo, kde můžete zobrazit všechny proměnné, které jsou k dispozici pro dané téma bez ohledu na to, ve kterých uzlech jsou definovány nebo použity. U každé proměnné můžete vybrat, zda může získat svou hodnotu z jiných témat, vrátit hodnotu do jiných témat nebo obojí. Můžete také vybrat proměnnou, jejíž vlastnosti chcete upravit, v podokně Vlastnosti proměnné.
Chcete-li otevřít podokno Proměnné, vyberte na panelu nabídek tématu položku Proměnné.
Podokno vlastností proměnné
V podokně Vlastnosti proměnné můžete přejmenovat proměnnou, zjistit, kde se používá, nebo ji převést na globální proměnnou. Globální proměnnou však nelze převést zpět na proměnnou daného tématu. Můžete také vybrat, zda proměnná tématu může přijímat hodnoty z jiných témat nebo jim předávat svou hodnotu.
Chcete-li otevřít podokno Vlastnosti proměnné některé proměnné, vyberte požadovanou proměnnou v podokně Proměnné. Podokno Vlastnosti proměnné můžete otevřít také výběrem proměnné v libovolném uzlu.
Předávání proměnných mezi tématy
Když přesměrujete jedno téma na jiné, můžete předat hodnoty proměnných z původního tématu do cílového tématu a také vrátit hodnoty z cílového tématu do původního tématu. Předávání proměnných mezi tématy je zvláště užitečné, když dřívější téma již shromáždilo informace, které potřebuje pozdější téma. Vaši uživatelé ocení, že nebudou muset na stejnou otázku znovu odpovídat.
Příjem hodnot z jiných témat
Když téma definuje proměnnou (například pomocí uzlu Otázky), agent požádá uživatele o otázku, aby vyplnil hodnotu proměnné. Pokud agent již hodnotu získal v dřívějším tématu, není důvod klást otázku znovu. V těchto případech můžete nastavit proměnnou jako Přijímat hodnoty z jiných témat. Když jiné téma přesměruje na toto, může předat buď hodnotu proměnné nebo hodnotu literálu do této proměnné a otázku přeskočit. Fungování pro uživatele, který mluví s agentem, je bezproblémové.
V tomto příkladu používáme dvě témata Pozdrav a Rozhovor se zákazníkem. Obě témata vyžadují jméno zákazníka. Pokud se však nejprve spustí téma Pozdrav, téma Rozhovor se zákazníkem tuto otázku přeskočí. Místo toho použije hodnotu proměnné předanou z tématu Pozdrav.
Zde je tok tématu Rozhovor se zákazníkem:
Jak je znázorněno v testovacím panelu, pokud je toto téma spuštěno jako první, zeptá se uživatele: „Jak vám mám říkat?“ Uloží hodnotu do řetězcové proměnné s názvem customerName. Proměnná customerName je rovněž nastavena tak, aby získala svou hodnotu z jiných témat. Téma končí zprávou: „Doufám, že máte krásný den, customerName!“
Zde je tok tématu Pozdrav:
Jak je znázorněno v testovacím panelu, pokud je toto téma spuštěno jako první, zeptá se uživatele: „Jak se jmenujete?“ Uloží hodnotu do řetězcové proměnné s názvem customerName. Téma odešle zprávu: „Těší mě, že vás poznávám, customerName!“ Pak je přesměrováno na téma Rozhovor se zákazníkem, které odešle zprávu: „Doufám, že máte krásný den, customerName!“ Všimněte si však, že téma Rozhovor se zákazníkem přeskočilo opětovné zadání jména uživatele. Místo toho je použita hodnota proměnné customerName předaná z tématu Pozdrav.
Nakonec je tu opět druhá konverzace, tentokrát z pohledu tématu Rozhovor se zákazníkem:
Pojďme si projít jednotlivé kroky nastavení tématu pro příjem hodnot z jiných témat. Náš ukázkový scénář používá předdefinované téma Pozdrav jako zdrojové téma a nové téma Rozhovor se zákazníkem jako cílové téma, ale stejný postup funguje pro jakékoli téma, které by mělo používat hodnotu z předchozího tématu, pokud je to možné.
Nastavení cílového tématu
Na cílové téma je téma přesměrováno, téma, které přijímá hodnoty z jiných témat. V našem příkladu je to Rozhovor se zákazníkem.
Vytvořte nové téma a nazvěte jej „Rozhovor se zákazníkem“.
Přidejte spouštěcí fráze jako „mluv se mnou“, „hovoř se mnou“, „chatuj se mnou“.
Přidejte uzel Otázka a do zprávy zadejte „Jak vás mám oslovovat?“.
V části Identifikace vyberte předem vytvořenou entitu Jméno osoby.
Vyberte název proměnné. Otevře se panel Vlastnosti proměnné.
Nahraďte výchozí název řetězcem „customerName“ a pak vyberte Přijímat hodnoty z jiných témat.
Přidejte uzel Zpráva.
Do pole se zprávou zadejte "Doufám, že máte krásný den, ".
Vyberte ikonu Vložit proměnnou ({x}) a potom vyberte customerName.
Vyberte mezeru za proměnnou a zadejte "!".
Uložte téma.
Nastavení zdrojového tématu
Zdrojové téma je téma provádějící přesměrování, které poskytuje hodnotu a předává ji cílovému tématu. V našem příkladu je to Pozdrav.
Přejděte na téma Pozdrav a odstraňte výchozí uzly s výjimkou uzlu Trigger.
Přidejte uzel Otázka a do zprávy zadejte „Jak se jmenujete?“.
V části Identifikace vyberte předem vytvořenou entitu Jméno osoby.
Nahraďte výchozí název proměnnou „customerNameFromGreeting“.
Přidejte uzel Zpráva.
Do pole zprávy zadejte "Těší mě, že vás poznávám, ".
Vyberte ikonu Vložit proměnnou ({x}) a potom vyberte customerNameFromGreeting.
Vyberte mezeru za proměnnou a zadejte "!".
Přidejte uzel Přesměrování a vyberte cílové téma Rozhovor se zákazníkem.
Vyberte Přidat vstup a poté vyberte proměnnou z cílového tématu, kam chcete předat hodnotu.
Vyberte ikonu > a pak vyberte proměnnou, jejíž hodnotu chcete předat, v tomto příkladu customerNameFromGreeting.
Uzel Přesměrování by měl vypadat takto:
Uložte téma.
Vracení hodnot do původních témat
Když je téma přesměrováno a obdrží proměnnou položením otázky nebo nějakým jiným způsobem, proměnná může být vrácena do původního tématu. Proměnná se stane součástí původního tématu a lze ji použít jako kteroukoli jinou proměnnou. Informace, které agent získá, jsou tak dostupné napříč tématy, což snižuje potřebu globálních proměnných.
Pokračujme příkladem z předchozí sekce. Položíme novou otázku v tématu Rozhovor se zákazníkem a odpověď potom vrátíme do tématu Pozdrav.
Nastavení zdrojového tématu pro vrácenou proměnnou
Když vracíte proměnnou do tématu, zdrojové téma je téma, které poskytuje hodnotu, která se má předat zpět původnímu tématu. V tomto příkladu je zdrojovým tématem Rozhovor se zákazníkem.
Jděte na zdrojové téma.
Přidejte uzel Otázka a do zprávy zadejte „Ve kterém městě bydlíte?“.
V části Identifikace vyberte předem vytvořenou entitu Město.
Výběrem proměnné otevřete podokno Vlastnosti proměnné. Pojmenujte jej „customerCity“ a pak vyberte Vracet hodnoty do původních témat.
Přidejte uzel Zpráva.
Vyberte ikonu Vložit proměnnou ({x}) a potom vyberte customerCity.
Za proměnnou v poli se zprávou zadejte " v tomto ročním období musí být krásné!".
Uložte téma.
Nastavení cílového tématu pro vrácenou proměnnou
Když vracíte proměnnou do tématu, cílové téma je téma, které přijímá hodnoty z aktuálního tématu. V našem příkladu je cílové téma Greeting.
Jděte do cílového tématu.
Proměnná, kterou jste vybrali ve zdrojovém tématu, by se měla zobrazit v uzlu Přesměrování jako výstupní proměnná.
Uložte téma.
Uzel Parsování hodnoty
Uzel Parsování hodnoty umožňuje převést hodnotu jednoho typu na hodnotu jiného typu. Při přidávání uzlu do tématu vyberte ikonu Přidat uzel, přejděte na Správa proměnných a vyberte Parsovat hodnotu.
Klíčové scénáře využívající uzel Parsování hodnoty se zaměřují na převod nezpracovaných proměnných JSON nebo netypovaných proměnných (jejichž hodnota nebo struktura není známa až za běhu, například ChannelData) na konkrétní typy.
Proces začíná voláním toku, který zase volá rozhraní API. Rozhraní API pak vrátí výsledek. Obvykle byste museli tuto odpověď parsovat a vrátit jednu nebo více primitivních proměnných. Pomocí uzlu Parsování hodnoty můžete odeslat celý výsledek rozhraní API jako řetězec. Příklad:
{
"Name": "Parker",
"Position": "Product manager",
"Company": "Contoso",
"FormerPositions": [{
"Position": "Customer service representative"
}
]
}
Řetězcovou proměnnou, kterou nyní máte, lze převést na proměnnou Záznam s plnou podporou intellisense v Power Fx pomocí tohoto nového uzlu. Tento proces pomůže ilustrovat příklad využívající vzorová data.
Příklad použití uzlu Parsováí hodnoty
Přidejte uzel Parsování hodnoty a vyberte proměnnou, kterou chcete parsovat.
Vyberte datový typ. V tomto případě zvolte Z ukázkových dat.
Vyberte Získat schéma z ukázkového JSON a v otevřeném editoru zadejte požadovaný příklad JSON.
Nakonec určete, do které proměnné chcete umístit parsovanou hodnotu. Obvykle byste pro to vytvořili novou proměnnou.
Všimněte si, že výstupní proměnná je nyní správného typu: Záznam.
Stejně jako u parsování řetězců JSON je klíčovým použitím uzlu Parsování hodnoty parsování netypovaných objektů při běhu. Nejběžnějším případem použití je, když obdržíte událost a potřebujete parsovat hodnotu této události. Nebo můžete chtít parsovat vlastnost System.Activity.ChannelData, která se mění za běhu podle kanálu.
Pokud byste chtěli analyzovat informace z události pocházející z Teams, museli byste použít dokumentaci pro vývojáře Teams k nalezení příkladu toho, jak by očekávaná událost mohla vypadat, a pak tento příklad použít jako ukázková data, jak je uvedeno výše v této části.