Aktualizace příkazu z klientské aplikace
Důležité
Vlastní příkazy budou vyřazeny 30. dubna 2026. Od 30. října 2023 nemůžete v sadě Speech Studio vytvářet nové aplikace Vlastních příkazů. V souvislosti s touto změnou bude služba LUIS vyřazena 1. října 2025. Od 1. dubna 2023 nemůžete vytvářet nové prostředky LUIS.
V tomto článku se dozvíte, jak aktualizovat probíhající příkaz z klientské aplikace.
Požadavky
Aktualizace stavu příkazu
Pokud vaše klientská aplikace vyžaduje, abyste aktualizovali stav probíhajícího příkazu bez hlasového vstupu, můžete odeslat událost, která příkaz aktualizuje.
Chcete-li tento scénář ilustrovat, odešlete následující aktivitu události, která aktualizuje stav probíhajícího příkazu (TurnOnOff
):
{
"type": "event",
"name": "RemoteUpdate",
"value": {
"updatedCommand": {
"name": "TurnOnOff",
"updatedParameters": {
"OnOff": "on"
},
"cancel": false
},
"updatedGlobalParameters": {},
"processTurn": true
}
}
Pojďme se podívat na klíčové atributy této aktivity:
Atribut | Vysvětlení |
---|---|
type | Aktivita je typu "event" . |
Jméno | Název události musí být "RemoteUpdate" . |
value | Atribut "value" obsahuje atributy potřebné k aktualizaci aktuálního příkazu. |
updatedCommand | "updatedCommand" Atribut obsahuje název příkazu. V rámci tohoto atributu "updatedParameters" je mapa s názvy parametrů a jejich aktualizovanými hodnotami. |
Zrušit | Pokud je potřeba probíhající příkaz zrušit, nastavte atribut "cancel" na true hodnotu . |
updatedGlobalParameters | Atribut "updatedGlobalParameters" je mapa stejně jako "updatedParameters" , ale používá se pro globální parametry. |
processTurn | Pokud je potřeba zpracovat turn po odeslání aktivity, nastavte atribut "processTurn" na true . |
Tento scénář můžete otestovat na portálu Vlastních příkazů:
- Otevřete aplikaci Vlastní příkazy, kterou jste vytvořili dříve.
- Vyberte Trénování a pak Test.
- Odeslat
turn
. - Otevřete boční panel a vyberte Editor aktivit.
- Zadejte a odešlete událost určenou
RemoteCommand
v předchozí části.
Všimněte si, jak byla hodnota parametru "OnOff"
nastavena "on"
prostřednictvím aktivity z klienta místo řeči nebo textu.
Aktualizace katalogu parametru pro příkaz
Při konfiguraci seznamu platných možností pro parametr se hodnoty parametru definují globálně pro aplikaci.
V našem příkladu SubjectDevice
má parametr pevný seznam podporovaných hodnot bez ohledu na konverzaci.
Pokud chcete přidat nové položky do katalogu parametrů pro každou konverzaci, můžete odeslat následující aktivitu:
{
"type": "event",
"name": "RemoteUpdate",
"value": {
"catalogUpdate": {
"commandParameterCatalogs": {
"TurnOnOff": [
{
"name": "SubjectDevice",
"values": {
"stereo": [
"cd player"
]
}
}
]
}
},
"processTurn": false
}
}
S touto aktivitou jste přidali položku do "stereo"
katalogu parametru "SubjectDevice"
v příkazu "TurnOnOff"
.
Všimněte si několika věcí:
- Tuto aktivitu musíte odeslat jenom jednou (ideálně hned po spuštění připojení).
- Po odeslání této aktivity byste měli počkat, až se událost
ParameterCatalogsUpdated
odešle zpět klientovi.
Přidání dalšího kontextu z klientské aplikace
Pro každou konverzaci můžete nastavit další kontext z klientské aplikace, kterou můžete později použít v aplikaci Vlastní příkazy.
Představte si například scénář, ve kterém chcete odeslat ID a název zařízení připojeného k aplikaci Vlastní příkazy.
K otestování tohoto scénáře vytvoříme v aktuální aplikaci nový příkaz:
Vytvořte nový příkaz s názvem
GetDeviceInfo
.Přidejte ukázkovou větu .
get device info
V pravidle dokončení Hotovo přidejte akci Odeslat odpověď řeči , která obsahuje atributy
clientContext
.Uložte, vytrénujte a otestujte aplikaci.
V testovacím okně odešlete aktivitu, která aktualizuje kontext klienta.
{ "type": "event", "name": "RemoteUpdate", "value": { "clientContext": { "deviceId": "12345", "deviceName": "My device" }, "processTurn": false } }
Odeslat text
get device info
.
Všimněte si několika věcí:
- Tuto aktivitu musíte odeslat jenom jednou (ideálně hned po spuštění připojení).
- Můžete použít komplexní objekty pro
clientContext
. - V odpovědích na řeč můžete použít
clientContext
odesílání aktivit a volání webových koncových bodů.
Další kroky
Váš názor
https://aka.ms/ContentUserFeedback.
Připravujeme: V průběhu roku 2024 budeme postupně vyřazovat problémy z GitHub coby mechanismus zpětné vazby pro obsah a nahrazovat ho novým systémem zpětné vazby. Další informace naleznete v tématu:Odeslat a zobrazit názory pro