Tudnivalók a készségfelhasználókról
A KÖVETKEZŐKRE VONATKOZIK: SDK v4
A készségfelhasználók olyan robotok, amelyek egy vagy több készséget hívhatnak meg. A készségek tekintetében a gyökérrobot egy felhasználó által használt robot, amely készségfelhasználó is.
A felhasználó szempontjából a gyökérrobot az a robot, amellyel kommunikál. A képesség szempontjából a képességfelhasználó az a csatorna, amelyen keresztül kommunikál a felhasználóval. (További információkért tekintse meg a készségek áttekintését.)
Készségfelhasználóként a gyökérrobot tartalmaz néhány további logikát a közötte és a képesség közötti forgalom kezelésére:
- Konfigurációs információk minden olyan képességhez, amelyet a gyökér használ.
- Egy beszélgetésazonosító-előállító , amely lehetővé teszi a gyökér számára, hogy oda-vissza váltson a felhasználóval folytatott beszélgetés és a hozzáértéssel folytatott beszélgetés között.
- Képességügyfél, amely képes tevékenységeket csomagolni és továbbítani egy képességrobotnak.
- Készségkezelő, amely képes fogadni a kérelmeket és kicsomagolni a tevékenységeket egy készségrobottól.
Készségek kezelése
A képességfelhasználó néhány kiegészítésével egyetlen képesség futtatásának megkezdését és a befejezésig való futtatását felügyeli. Összetettebb forgatókönyvek is lehetségesek, több szakértelemmel vagy beszélgetési szállal.
A készségfelhasználók legalább két HTTP-végpontot implementálnak:
- Az üzenetkezelési végpont tevékenységeket fogad a felhasználótól vagy a csatornától. Ez az összes robot által implementálható szokásos üzenetkezelési végpont.
- Képességgazdavégpont egy képességtől származó tevékenységek fogadásához. Ez visszahívási URL-címként működik, amely a szolgáltatás URL-címe, amelyre a képesség válaszol. (A képességfelhasználónak olyan kódot kell párosítania, amely egy képességkezelővel fogadja a HTTP-metódus kérését.)
Jártassági leírások
Minden képességhez adjon hozzá egy Bot Framework-képességobjektumot a képességfelhasználó konfigurációs fájljába. Mindegyiknek rendelkeznie kell egy azonosítóval, egy alkalmazásazonosítóval és egy végpontot a képességhez.
Property | Leírás |
---|---|
Azonosító | A képesség azonosítóját vagy kulcsát, amely a készségfelhasználóra vonatkozik. |
Alkalmazásazonosító | A appId roboterőforráshoz rendelt, amikor a képesség regisztrálva lett az Azure-ban. |
Képességvégpont | A képesség üzenetkezelési végpontja. Ez az AZ URL-cím, amellyel a fogyasztó kommunikálni fog a szakértelemmel. |
Skill client and skill handler
A készségfelhasználó egy képességügyfél használatával küld tevékenységeket egy képességnek. Az ügyfél:
- Egy felhasználótól vagy a fogyasztó által generált tevékenységtől küld el egy tevékenységet a képességnek.
- Beállítja a szolgáltatás URL-címét a képességnek a fogyasztó képességgazdavégpontjára küldött tevékenységen.
- Az eredeti beszélgetési referenciát lecseréli egy fogyasztó-készség beszélgetésre.
- Bot-to-bot hitelesítési jogkivonatot ad hozzá.
- Elküldi a frissített tevékenységet a képességnek.
A készségfelhasználó egy képességkezelővel fogad tevékenységeket egy képességből. A kezelő:
- Kezeli a csatornaszolgáltatás REST API-metódusait.
- Érvényesíti a hitelesítést és a jogcímek érvényesítését.
- Lekéri az eredeti beszélgetési hivatkozást.
- Létrehoz egy tevékenységet a fogyasztó adapteréhez. Ez a tevékenység vagy azt jelzi, hogy a képesség befejeződött, vagy a felhasználónak továbbítandó tevékenység.
Képesség kezelése közvetlenül
Az aktív készségek nyomon követéséhez logikát kell hozzáadnia a készségfelhasználóhoz. A fogyasztón múlik, hogy hogyan kezeli a készségeket általában, hogy képes-e párhuzamosan több aktív készséget fenntartani, vagy sem, és így tovább. A megfontolandó konkrét forgatókönyvek a következők:
- Új fogyasztói-ügyességi beszélgetés kezdeményezése. (Ez egy adott felhasználói beszélgetéshez lesz társítva.)
- Ha paramétereket szeretne átadni egy képességnek, állítsa be a kezdeti tevékenység értéktulajdonságát a képességnek.
- Egy meglévő fogyasztói-képességi beszélgetés folytatása.
- Egy tevékenység felismerése
endOfConversation
a képességből egy fogyasztói-készséges beszélgetés végének jelzéseként.- Ha bármilyen visszatérési értéket szeretne lekérni egy képességből, ellenőrizze a tevékenység értéktulajdonságát.
- Annak ellenőrzéséhez, hogy a képesség miért fejeződik be, ellenőrizze a tevékenység kódparaméterét, amely azt jelezheti, hogy a képesség hibát észlelt.
- A képesség lemondása a fogyasztótól egy tevékenységnek a képességnek való elküldésével
endOfConversation
.
Megtudhatja, hogyan valósíthat meg készségfelhasználót egy olyan fogyasztó számára, aki közvetlenül kezel egy képességet.
Képesség kezelése készség párbeszédpanel használatával
Ha a párbeszédpanel-kódtárat használja, egy készség párbeszédpanel használatával kezelheti a készséget. Bár a készség párbeszédpanel az aktív párbeszédpanel, a tevékenységek továbbítva lesznek a társított képességnek.
- A készség párbeszédpanel létrehozásakor a párbeszédpanel beállításai paraméter használatával adja meg a képesség kezeléséhez szükséges összes információt, például a fogyasztó alkalmazásazonosítóját és visszahívási URL-címét, a használni kívánt beszélgetésazonosító-előállítót, a képesség tulajdonságait stb.
- Ha egynél több készséget szeretne párbeszédpanelként kezelni, minden egyes képességhez külön készségpanelt kell létrehoznia.
- Gyakran hozzáadja a készség párbeszédpanelt egy összetevő párbeszédpanelhez.
- A készség párbeszédpanel elindításához használja a párbeszédpanel környezetének kezdő metódusát, és adja meg a készség párbeszédpanel azonosítóját. A beállításparaméter használatával adja meg azt a tevékenységet, amelyet a fogyasztó első tevékenységként küld el a képességnek.
- A készség párbeszédpanelt ugyanúgy megszakíthatja vagy megszakíthatja, mint bármely más párbeszédpanelt. Példa a felhasználói megszakítások kezelésére.
Megtudhatja, hogyan használhat fel egy párbeszédpanelt egy olyan fogyasztó készségeinek felhasználásához, amely egy készség kezeléséhez párbeszédpanelt használ.
A várt válaszok kézbesítési módjának használata
A robotok és a készségek az iparági szabványnak megfelelő REST és JSON protokollt használják HTTPS-en keresztül a kommunikációhoz. A normál tevékenységfeldolgozási folyamat akkor indul el, amikor a gyökérrobot egy bejegyzést kap egy csatornától az üzenetkezelési végponton. A gyökérrobot ezután elküldi a tevékenységet a feldolgozási képességnek. A képesség válaszait a rendszer a gyökérrobot képességgazda végpontjára küldi vissza, nem pedig az üzenetkezelési végpontjára. Végül a válaszokat tovább dolgozza fel, vagy a gyökérrobot visszaküldi a csatornára. Ez a normál folyamat a képességnek küldött tevékenység kézbesítési módjának módosításával módosítható. Ha a kézbesítési mód "ExpectReplies" értékre van állítva, a képesség nem kerül vissza a képességgazda végpontja felé. Ehelyett minden választevékenység szerializálva lesz a válasz törzsébe. A gyökérrobot ezután iterálja ezeket a tevékenységeket, és ugyanúgy dolgozza fel őket, mint ahogyan a képességgazda végpontja feldolgozta volna őket.
További információkért tekintse meg a Szállítási módot a Tevékenység specifikációjában.