Informace o spotřebiteli dovedností

PLATÍ PRO: SDK v4

Uživatel dovedností je robot, který může volat jednu nebo více dovedností. S ohledem na dovednosti je kořenový robot uživatelem, který je také příjemcem dovedností.

Z pohledu uživatele je kořenový robot robotem, se kterým komunikuje. Z pohledu dovednosti je příjemce dovedností kanál, přes který komunikuje s uživatelem. (Další informace najdete v přehledu dovedností.)

Jako uživatel dovedností zahrnuje kořenový robot další logiku pro správu provozu mezi ním a dovedností:

  • Informace o konfiguraci pro každou dovednost, která kořen používá.
  • Továrna PRO ID konverzace, která umožňuje kořenovému adresáři přepínat mezi konverzací, kterou má s uživatelem, a uživatelem, který má s dovedností.
  • Dovednost klient , který může zabalit a předat aktivity robotovi dovednosti.
  • Obslužná rutina dovedností, která může přijímat žádosti a rozbalit aktivity od robota dovedností.

Správa dovedností

Začátek a nechat jednu dovednost běžet na dokončení, se spravuje s několika dodatky ke spotřebiteli dovedností. Složitější scénáře jsou možné s více dovednostmi nebo vlákny konverzace.

Příjemce dovedností implementuje aspoň dva koncové body HTTP:

  • Koncový bod zasílání zpráv přijímá aktivity od uživatele nebo kanálu. Jedná se o obvyklý koncový bod zasílání zpráv, který implementují všichni roboti.
  • Koncový bod hostitele dovedností pro příjem aktivit z dovednosti. Jedná se o adresu URL zpětného volání, adresu URL služby, na kterou dovednost odpovídá. (Příjemce dovedností musí spárovat kód, který obdrží požadavek metody HTTP z dovednosti s obslužnou rutinou dovedností.)

Popisy dovedností

Pro každou dovednost přidejte objekt dovednosti bot Framework do konfiguračního souboru příjemce dovednosti. Každý z nich bude mít ID, ID aplikace a koncový bod dovednosti.

Vlastnost Popis
ID ID nebo klíč dovednosti, které jsou specifické pro příjemce dovedností.
ID aplikace Přiřazení appId k prostředku robota při registraci dovednosti v Azure.
Koncový bod dovednosti Koncový bod zasílání zpráv pro dovednost. Jedná se o adresu URL, pomocí které bude příjemce komunikovat s dovedností.

Dovednost klient a obslužná rutina dovedností

Spotřebitel dovedností používá klienta dovedností k posílání aktivit dovednostem. Klient:

  • Přijme aktivitu, která se odešle do dovednosti, a to buď od uživatele, nebo vygenerovaného příjemcem.
  • Nastaví adresu URL služby pro aktivitu odeslanou do dovednosti do koncového bodu hostitele dovedností příjemce.
  • Nahradí původní odkaz na konverzaci jednou pro konverzaci s uživatelskými dovednostmi.
  • Přidá ověřovací token robota k robotovi.
  • Odešle aktualizovanou aktivitu dovednosti.

Příjemce dovedností používá obslužnou rutinu dovedností k získání aktivit z dovednosti. Obslužná rutina:

  • Zpracovává metody rozhraní REST API služby kanálu.
  • Vynucuje ověřování a ověřování deklarací identity.
  • Načte odkaz na původní konverzaci.
  • Vygeneruje aktivitu pro adaptér příjemce. Tato aktivita bude buď signalizovat, že dovednost dokončila, nebo že se jedná o aktivitu, která se má uživateli předat.

Správa dovednosti přímo

Abyste mohli sledovat všechny aktivní dovednosti, musíte ke svému příjemci dovedností přidat logiku. Je na spotřebiteli, jak obecně spravuje dovednosti, ať už může udržovat více aktivních dovedností paralelně, nebo ne, a tak dále. Mezi konkrétní scénáře, které je potřeba zvážit, patří:

  • Zahájení nové konverzace s uživatelskými dovednostmi. (To bude přidruženo ke konkrétní konverzaci uživatele uživatele.)
    • Pokud chcete předat parametry dovednostem, nastavte vlastnost hodnoty v počáteční aktivitě na dovednost.
  • Pokračování v existující konverzaci s uživatelskými dovednostmi
  • Rozpoznání aktivity z dovednosti jako signalizovat endOfConversation konec konverzace s uživatelskými dovednostmi.
    • Pokud chcete načíst libovolnou návratovou hodnotu z dovednosti, zkontrolujte vlastnost hodnoty aktivity.
    • Pokud chcete zkontrolovat, proč dovednost končí, zkontrolujte parametr kódu aktivity, který může značit, že dovednost narazila na chybu.
  • Zrušení dovednosti od příjemce odesláním endOfConversation aktivity do dovednosti.

Podívejte se, jak implementovat uživatele dovedností pro spotřebitele, který spravuje dovednosti přímo.

Správa dovednosti pomocí dialogového okna dovedností

Pokud používáte knihovnu dialogových oken, můžete ke správě dovednosti použít dialog dovedností. I když je dialog dovednosti aktivním dialogem, přepošluje aktivity na přidruženou dovednost.

  • Při vytváření dialogového okna dovedností použijte parametr možností dialogového okna k zadání všech informací, které dialogové okno potřebuje ke správě dovednosti, jako je ID aplikace příjemce a adresa URL zpětného volání, objekt pro vytváření ID konverzace, který se má použít, vlastnosti dovednosti atd.
    • Pokud chcete jako dialogové okno spravovat více než jednu dovednost, budete muset pro každou dovednost vytvořit samostatný dialog dovedností.
    • Dialogové okno dovedností často přidáte do dialogového okna komponenty.
  • Chcete-li zahájit dialog dovedností, použijte počáteční metodu kontextu dialogového okna a zadejte ID dialogového okna dovednosti. Pomocí parametru možností zadejte aktivitu, která příjemce odešle jako první aktivitu dovednosti.
  • Dialogové okno dovednosti můžete zrušit nebo přerušit stejně jako jakékoli jiné dialogové okno. Podívejte se, jak například zvládnout přerušení uživatelů.

Podívejte se, jak pomocí dialogového okna využívat dovednosti pro spotřebitele, který ke správě dovednosti používá dialogové okno.

Použití režimu doručení očekávaných odpovědí

Roboti a dovednosti používají pro komunikaci oborový standard REST a JSON přes HTTPS. Tok zpracování normální aktivity začíná, když kořenový robot obdrží příspěvek z kanálu v koncovém bodu zasílání zpráv. Kořenový robot pak odešle aktivitu do dovednosti ke zpracování. Odpovědi z dovednosti se publikují zpět do koncového bodu hostitele dovedností kořenového robota, nikoli do koncového bodu zasílání zpráv. Nakonec se odpovědi zpracovávají dál nebo se publikují zpět do kanálu kořenovým robotem. Tento normální tok lze změnit změnou režimu doručení aktivity odeslané do dovednosti. Pokud je režim doručení nastavený na "ExpectReplies", dovednost nebude publikovat zpět do koncového bodu hostitele dovednosti. Místo toho se všechny aktivity odpovědi serializují do textu odpovědi. Kořenový robot pak iteruje nad těmito aktivitami, zpracovává je podobně jako koncový bod hostitele dovedností.

Informace naleznete v režimu doručení ve specifikaci aktivity.