Používání entit a vyplňování slotů v kopilotech Microsoft Copilot Studio

Důležité

Schopnosti a funkce Power Virtual Agents jsou nyní součástí Microsoft Copilot Studio po významných investicích do generativní umělé inteligence a vylepšených integracích napříč Microsoft Copilot.

Některé články a snímky obrazovky mohou odkazovat na Power Virtual Agents, zatímco aktualizujeme dokumentaci a obsah školení.

Velká část konverzací kopilotů v Microsoft Copilot Studio je porozumění přirozenému jazyku, což je schopnost AI porozumět záměru uživatele. Porozumění přirozenému jazyku se týká například situace, kdy uživatel může říct „Zkoušel jsem použít svou dárkovou kartu, ale nefunguje“ a kopilot je schopen uživatele nasměrovat na téma související s nefunkčními dárkovými kartami – dokonce i pokud tato přesná fráze není uvedena 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. Díky znalostem poskytnutým entitami může kopilot 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 kopilotech vám umožňují ukládat informace do podobných skupin.

Microsoft Copilot Studio je vybaven sadou předem připravených entit, které představují nejčastěji používané stereotypní informace v dialozích reálného světa, jako je věk, barvy, čísla a jména.

Díky znalostem poskytnutým entitami může kopilot 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.

  1. V Microsoft Copilot Studio vyberte v navigační nabídce Entity.

    Přechod na kartu Entity.

    Zobrazí se seznam předem připravených dostupných entit.

    Podokno entit.

  2. Vyberte entitu Peníze, čímž se otevře podokno podrobností entity.

    Popis entity Peníze.

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 kopilot ví, že „1000 dolarů“ představuje peněžní typ informací. Když kopilot extrahuje tuto entitu a uloží ji do proměnné, uloží „1000“ jako číslo, i když okolní informace byly textové.

Vlastní entity

Předem definované entity pokrývají běžně používané typy informací, ale v některých případech, například při sestavování kopilota, který slouží konkrétnímu účelu, budete muset naučit model porozumění jazyku kopilota určité znalosti specifické pro doménu.

Dejme tomu, že chcete sestavit kopilota pro obchod s outdoorovou výbavou. V tomto případě budete muset kopilota naučit, aby v dialogovém okně uznal kategorii „produkt outdoorové výbavy“.

K tomu je třeba vytvořit vlastní entitu: V tomto případě můžete vytvořit entitu, která kopilotovi poskytne znalosti o všech kategoriích outdoorových produktů.

  1. V Microsoft Copilot Studio vyberte v navigační nabídce Entity.

    Přejděte na kartu Entity a vytvořte novou entitu.

  2. V hlavní nabídce vyberte možnost Nová entita.

    Výběr možnosti Nová entita.

  3. Otevře se podokno, ve kterém můžete vybrat typ entity: buď Uzavřený seznam nebo Regulární výraz (regex).

Entity uzavřeného seznamu

Entity uzavřeného seznamu umožňují definovat seznam položek. Hodí se především pro malé seznamy, které se snadno spravují a které mají jednoduché popisky položek.

Snímek obrazovky okna vytvoření entity se zvýrazněnou možností Uzavřený seznam.

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.

Snímek obrazovky podokna seznamu entit.

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í“.

Snímek obrazovky podokna Upravit synonyma.

U každé entity můžete také povolit Inteligentní párování.

Inteligentní párování je součástí umělé inteligence podporované kopilotovým modelem porozumění jazyku. Pokud je tato možnost povolena, kopilot bude interpretovat vstup uživatele pomocí fuzzy logiky na základě položek uvedených v entitě.

Kopilot zejména automaticky opraví překlepy a sémanticky rozšíří svou logiku párování. Kopilot může například automaticky přiřadit „softball“ k „baseballu“.

Snímek obrazovky přepínače možnosti inteligentního párování.

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 ID sledování, licenční číslo, číslo kreditní karty nebo IP adresa z řetězce, který uživatel zadá do kopilota.

Snímek obrazovky okna vytvoření entity se zvýrazněnou možností Regulární výraz.

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.

Snímek obrazovky podokna entity regulárního výrazu.

Entita regulárního výrazu Microsoft 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 kopilotovi poskytli 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í konverzace s kopiloty.

  1. Přejděte na stránku Témata pro kopilota, kterého chcete upravit.

  2. Otevřete vytvářecí plátno pro téma, do kterého chcete přidat entitu.

  3. Vyberte Přidat uzel (+) a pak vyberte Přidat otázku.

    Snímek obrazovky přidávání uzlu.

  4. V části Identifikovat vyberte entitu, kterou jste vytvořili v části Vlastní entity.

    Uzel otázky s výběrem entity.

  5. 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 jednoduše vybrat položku Vybrat uživatelské možnosti a poté je vyberte ze seznamu obsahujícího položky, které jste přidali při vytváření vlastní entity.

    Přidání uzlů podmínek.

    Další uzly podmínek.

  6. 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 Microsoft 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 outdoorové výbavy, které se spouští zadáním fráze „chci něco koupit“ v testovacím chatu.

Téma se úspěšně spustí a kopilot se zeptá na kategorii produktu, přičemž také zobrazí tlačítkové volby zadané při vytváření uzlu Položit otázku. Ve stromu dialogu sledování témat také ukazuje, že kopilot směřuje k uzlu otázky, který jste právě upravili.

Sledování témat.

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řídavné sledování témat.

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é VarProductCategory.

Okno sledování proměnných.

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. Kopilot 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říkladu uživatel napsal „Chci si koupit nějakou trekovou výbavu“. Text zahrnuje jak spouštěcí frázi, že si uživatel chce koupit výbavu, tak také poskytuje druhou informaci – skutečný typ výbavy. V tomto případě kopilot vyplní entitu pro nákup výbavy i pro typ výbavy.

Vícenásobné a proaktivní vyplňování slotů.

Při sledování témat můžete vidět, že kopilot přebírá tento uživatelský vstup a inteligentně přeskakuje uzel otázky s dotazem na kategorii produktu.

Kopilot vždy aktivně naslouchá vstupu uživatele, pamatuje si informace předem, aby mohl 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 je typ turistické výbavy a také cenové rozpětí (pomocí entity Peníze).

Tentokrát, když je uvedena otázka kategorie produktu, místo toho, aby kopilotovi sdělil pouze kategorii produktu, může uživatel říci „Chci si koupit pár turistických bot do 100 dolarů“. V tomto příkladu je kopilot nejen schopen přejít na správnou trasu kategorie produktu pro pěší turistiku, ale také aktivně vyplnit sloty s dotazem na typ turistické výbavy a informaci o cílovém cenovém rozpětí.

Sledování témat u produktových a cenových kategorií.

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.

Přeskočení otázky.

Podívejte se na video s podrobným výkladem