Použijte entity a agenty pro vyplňování slotů
Významnou součástí agent konverzací v Copilot Studio je porozumění přirozenému jazyku, což je schopnost AI porozumět záměru uživatele. Uživatel může například říci „Pokoušel jsem se použít svůj dárek karta, ale nefunguje to“ a agent ví, že má uživatele nasměrovat na téma související s darem Karty nefunguje, i když přesně tato fráze není uveden jako spouštěcí fráze.
Jedním ze základních aspektů porozumění přirozenému jazyku je identifikace entit v uživatelském dialogu. Chcete-li začít s entitami, podívejte se na video.
Entitu lze považovat za jednotku informací, která představuje určitý typ předmětu v reálném světě, jako je telefonní číslo, PSČ, město nebo dokonce jméno osoby. Se znalostmi poskytnutými entitami může agent chytře rozpoznat relevantní informace z uživatelského vstupu a uložit je pro pozdější použití.
Předem připravené entity
Entity v agentech umožňují ukládat informace do podobných skupin.
Copilot Studio je vybaven sadou předem připravených entit, které představují nejčastěji používané typy informací v dialozích reálného světa, jako je věk, barvy, čísla a jména.
Se znalostmi poskytnutými entitami může agent chytře rozpoznat relevantní informace z uživatelského vstupu a uložit je pro pozdější použití.
Abychom tomuto pojmu lépe rozuměli, lze jako příklad použít entitu Peníze.
Otevřete agent v Copilot Studio a vyberte Nastavení v horní části stránky a poté Entity v nabídce.
Zobrazí se seznam předem připravených dostupných entit.
Vyberte entitu Peníze, čímž se otevře podokno podrobností entity.
Zde vidíte vysvětlení této entity a způsoby, jak ji lze použít k vyhledání informací souvisejících s penězi nebo měnou ze vstupu uživatele.
Když například uživatel zadá „Stojí to 1000 dolarů“, pomocí této peněžní entity agent ví, že „1000 dolarů“ představuje peníze typ informace. Když agent extrahuje tuto entitu a uloží ji do proměnné, uloží "1000" jako číslo, i když okolní informace byly textové.
Vlastní entity
Předem vytvořené entity pokrývají běžně používané typy informací. Při některých příležitostech, například při vytváření agent, který slouží konkrétnímu účelu, možná budete muset naučit agent model porozumění jazyku znalostní oblasti specifické pro doménu.
Řekněme například, že chcete postavit agent pro venkovní obchod. V tomto případě musíte naučit agent, aby v dialogovém okně uznal kategorii „výrobek outdoorového vybavení“.
Nejprve vytvořte vlastní entitu. V tomto případě můžete vytvořit entitu, která poskytne agent znalost všech kategorií outdoorových produktů.
Otevřete agent v Copilot Studio a vyberte Nastavení v horní části stránky a poté Entity v nabídce.
Vyberte Přidat entitu>Nová entita.
Vyberte požadovaný typ entity: buď entitu uzavřeného seznamu nebo regulární výraz (regulární výraz) entitu.
Entity uzavřeného seznamu
Entity uzavřeného seznamu umožňují definovat seznam položek. Tyto entity se hodí především pro malé seznamy, které se snadno spravují a které mají jednoduché popisky položek.
Výběrem této možnosti při vytváření entity se zobrazí podokno, kde můžete zadat název entity, volitelný popis a zadat položky, které chcete do entity zahrnout.
Při zadávání položek můžete:
- Vybrat každou položku a změnit její název.
- Vybrat ikonu koše a odstranit položku ze seznamu.
- Vyberte položku + Synonyma (nebo vyberte uvedená synonyma, pokud již byla přidána) a otevřete podokno Upravit synonyma.
Přidáním synonym ručně rozšíříte logiku porovnávání u každé položky v seznamu entit. Například v položce „turistika“ můžete přidat jako synonyma „treking“ a „horolezectví“.
U každé entity můžete také povolit Inteligentní párování.
Inteligentní párování je součástí inteligence podporované modelem porozumění jazyku agent. Pokud je tato možnost povolena, agent bude interpretovat vstup uživatele pomocí fuzzy logiky na základě položek uvedených v entitě.
Konkrétně agent automaticky opraví překlepy a sémanticky rozšíří svou odpovídající logiku. Například agent dokáže automaticky přiřadit „softball“ k „baseballu“.
Po dokončení vytváření nebo úprav entity vyberte Uložit, uložte entitu a vraťte se do seznamu entit. Výběrem možnosti Zavřít zahodíte vaše změny (budete mít možnost vrátit se k úpravě entity v případě, že jste omylem vybrali špatnou možnost).
Entity typu Regulární výraz (Regex)
Entity typu regulární výraz (regex) umožňují definovat logické vzory, které můžete použít ke spárování a extrahování informací ze vstupu. Entity typu regulární výraz se skvěle hodí ke komplexnímu párování vzorů se vstupem uživatele nebo pokud potřebujete povolit specifické variace v tom, jak může uživatel formátovat nebo vkládat svůj vstup do konverzace.
Například byste mohli použít entitu regulárního výrazu k identifikaci položek, jako je sledovací ID, licenční číslo, kreditní karta číslo nebo IP adresa z řetězce, který uživatel zadá do agent.
Výběrem této možnosti při vytváření entity se zobrazí podokno, kde můžete zadat název entity, volitelný popis a zadat vzor regulárního výrazu, který by měl být použit ke spárování a extrahování položek entity ze vstupu.
Entita regulárního výrazu Copilot Studio používá syntaxi regulárních výrazů .NET.
Ve výchozím nastavení se při porovnávání vzorů rozlišují velká a malá písmena; chcete-li, aby se nerozlišovala, použijte v řetězci vzoru možnost regulárního výrazu (?i)
. Některé základní příklady vzorů jsou zahrnuty v podokně entity regulárního výrazu, další informace o syntaxi a další příklady najdete v tématu Jazyk regulárních výrazů – Rychlý průvodce.
Pokud potřebujete, aby regulární výraz vyhovoval více vzorům, můžete použít operátor alternace |
ke zřetězení regulárních výrazů. Můžete například zkombinovat dva vzory regulárních výrazů a hledat starý i nový formát kódu ID produktu.
Po dokončení vytváření nebo úprav entity vyberte Uložit, uložte entitu a vraťte se do seznamu entit. Výběrem možnosti Zavřít zahodíte vaše změny (budete mít možnost vrátit se k úpravě entity v případě, že jste omylem vybrali špatnou možnost).
Používání entit v konverzaci
Nyní, když jste udělali práci a poskytli agent znalosti o outdoorovém vybavení vytvořením entity kategorie produktu a několika dalších vlastních entit, můžete je začít používat při vytváření agent konverzace.
Přejděte na stránku Témata pro agent, který chcete upravit.
Otevřete téma pro entitu, kterou chcete shromáždit.
Vyberte ikonu nabídky Přidat uzel a poté vyberte Položit otázku.
V části Identifikovat vyberte entitu, kterou jste vytvořili v části Vlastní entity.
Volitelně můžete také vybrat položky, které se zobrazí jako tlačítka. Pokud například chcete zobrazit některé kategorie jako tlačítka, ze kterých si uživatelé mohou pohodlně vybrat svůj vstup, můžete vybrat položku Vybrat možnosti pro uživatele a poté je vyberte ze seznamu obsahujícího položky, které jste přidali při vytváření vlastní entity.
V případě potřeby pojmenujte proměnnou pro výstup uživatelské odpovědi.
Vyplňování slotů
Vyplňování slotů je koncept porozumění přirozenému jazyku, který znamená uložení extrahované entity do objektu. Nicméně v aplikaci Copilot Studio pojem vyplňování slotů znamená umístění extrahované hodnoty entity do proměnné.
Jako příklad budeme nadále používat téma kempingových aktivit, které se spouští zadáním fráze „chci něco dělat“ v testovacím chatu.
Téma je úspěšně spuštěn a agent se zeptá na typ aktivity a také zobrazí volby tlačítka určené při vytváření uzlu Položit otázku . Sledování mezi tématy ve stromu dialogu také ukazuje, že agent běží na uzel otázky, který jste právě upravili.
Uživatel může použít předdefinované volby výběrem jednoho z tlačítek. Případně mohou také zapsat něco jako „treking“ a zjistit, že to odpovídá „turistice“, protože tato slova byla definována jako synonyma.
Při sledování témat se ukazuje, že dialog je správně nasměrován na cestu, ve které má kategorie produktu hodnotu „Pěší turistika“. Hodnotu proměnné můžete zkontrolovat v okně sledování proměnné ve spodní části vytvářecího plátna. V okně sledování vidíte, že hodnota proměnné je „Pěší turistika“.
K vyplnění slotu došlo vložením extrahované entity „Pěší turistika“ do proměnné VarCampType
.
Můžete také použít to, co je známé jako "proaktivní vyplňování slotů", kdy uživatel může zadat více kusů informací, které se mapují na více entit. Agent je schopen automaticky porozumět tomu, jaké informace patří ke které entitě. V případech, kdy si není jistý zamýšleným mapováním, vyzve uživatele, aby byl konkrétnější poskytnutím možností.
V tomto případě uživatel napsal „Nudím se, ale mám rád horolezectví“. Tato zpráva obsahuje jak spouštěcí frázi, že uživatel chce pomoc s outdoorovými aktivitami, tak také poskytuje druhou informaci – „horolezectví“, což je entitou definované synonymum pro pěší turistiku. V tomto případě agent vyplní entitu pro výběr outdoorové aktivity i pro typ aktivity.
Při sledování mezi tématy můžete vidět, jak agent přijímá tento uživatelský vstup a inteligentně přeskakuje uzel otázky s dotazem na typ aktivity.
Agent vždy aktivně naslouchá vstupu uživatele, pamatuje si informace předem, takže může podle potřeby přeskočit zbytečné kroky.
Znovu spustíme testování a zkusíme jiný případ. V tomto kole můžete přidat několik dalších uzlů otázek s dotazem na věci, jako, kolik času na aktivitu máte (pomocí entity Doba trvání) a také cenové rozpětí (pomocí entity Peníze).
Tentokrát, když je uvedena otázka kategorie produktu, místo toho, aby uživatel řekl agent pouze kategorii produktu, může říct „Chci si koupit pár turistických bot pod $100“. V tomto příkladu je agent nejen schopen nasměrovat na správnou trasu kategorie produktu pro pěší turistiku, ale také aktivně vyplnit sloty s dotazem na typ turistického vybavení a informace o cílovém cenovém rozpětí.
Proaktivní vyplnění slotů lze ručně ovládat na úrovni uzlů. Pokud chcete vždy vyžadovat zadání otázky v rámci konkrétního uzlu bez ohledu na to, zda byl blok zaplněn předchozími odpověďmi uživatelů, můžete zakázat možnost Přeskočit otázku pro tento uzel otázky. Proveďte následující kroky pro deaktivaci možnosti Přeskočit otázku.
Vyberte ikonu Další (…) nabídky uzlu Otázka a poté vyberte Vlastnosti. Zobrazí se panel Vlastnosti otázky.
Na panelu Vlastnosti otázky vyberte Chování otázky.
Na panelu Chování otázky v části Přeskočit otázku vyberte Pokaždé se ptát a poté v horní části stránky vyberte Uložit.