Share via


Utveckla program för anpassade kommandon

Viktigt!

Anpassade kommandon dras tillbaka den 30 april 2026. Från och med den 30 oktober 2023 kan du inte skapa nya program för anpassade kommandon i Speech Studio. I samband med den här ändringen dras LUIS tillbaka den 1 oktober 2025. Från och med den 1 april 2023 kan du inte skapa nya LUIS-resurser.

I den här artikeln får du lära dig hur du utvecklar och konfigurerar program för anpassade kommandon. Funktionen Anpassade kommandon hjälper dig att skapa omfattande röstkommandoappar som är optimerade för interaktionsupplevelser med röst först. Funktionen passar bäst för att slutföra uppgifter eller kommando-och-kontroll-scenarier. Den passar bra för IoT-enheter (Internet of Things) och för omgivande och huvudlösa enheter.

I den här artikeln skapar du ett program som kan aktivera och inaktivera en TV, ställa in temperaturen och ställa in ett larm. När du har skapat de här grundläggande kommandona får du lära dig mer om följande alternativ för att anpassa kommandon:

  • Lägga till parametrar i kommandon
  • Lägga till konfigurationer i kommandoparametrar
  • Skapa interaktionsregler
  • Skapa språkgenereringsmallar för talsvar
  • Använda anpassade röstverktyg

Skapa ett program med hjälp av enkla kommandon

Börja med att skapa ett tomt program för anpassade kommandon. Mer information finns i snabbstarten. I det här programmet skapar du ett tomt projekt i stället för att importera ett projekt.

  1. I rutan Namn anger du projektnamnet Smart-Room-Lite (eller ett annat valfritt namn).

  2. I listan Språk väljer du Engelska (USA).

  3. Välj eller skapa en LUIS-resurs.

    Screenshot showing the

Uppdatera LUIS-resurser (valfritt)

Du kan uppdatera redigeringsresursen som du valde i fönstret Nytt projekt . Du kan också ange en förutsägelseresurs.

En förutsägelseresurs används för igenkänning när ditt program för anpassade kommandon publiceras. Du behöver ingen förutsägelseresurs under utvecklings- och testfaserna.

Lägg till ett TurnOn-kommando

Lägg till ett kommando i det tomma programmet Smart-Room-Lite Custom Commands som du skapade. Kommandot bearbetar ett yttrande, Turn on the tv. Den svarar med meddelandet Ok, turning the tv on.

  1. Skapa ett nytt kommando genom att välja Nytt kommando överst i den vänstra rutan. Fönstret Nytt kommando öppnas.
  2. För fältet Namn anger du värdet TurnOn.
  3. Välj Skapa.

I det mellersta fönstret visas egenskaperna för kommandot.

I följande tabell beskrivs kommandots konfigurationsegenskaper. Mer information finns i Begrepp och definitioner för anpassade kommandon.

Konfiguration beskrivning
Exempel på meningar Exempelyttranden som användaren kan säga för att utlösa det här kommandot.
Parametrar Information som krävs för att slutföra kommandot.
Slutföranderegler Åtgärder som ska vidtas för att uppfylla kommandot. Exempel: Svara på användaren eller kommunicera med en webbtjänst.
Interaktionsregler Andra regler för att hantera mer specifika eller komplexa situationer.

Screenshot showing where to create a command.

Lägga till exempel meningar

I avsnittet Exempel på meningar anger du ett exempel på vad användaren kan säga.

  1. I mittenfönstret väljer du Exempel på meningar.

  2. Lägg till exempel i fönstret till höger:

    Turn on the tv
    
  3. Välj Spara överst i fönstret.

Du har inga parametrar än, så du kan gå vidare till avsnittet Slutföranderegler .

Lägga till en slutföranderegel

Därefter behöver kommandot en slutföranderegel. Den här regeln talar om för användaren att en uppfyllelseåtgärd vidtas.

Mer information om regler och slutföranderegler finns i Begrepp och definitioner för anpassade kommandon.

  1. Välj standardregeln för slutförande klar. Redigera den sedan på följande sätt:

    Inställning Föreslaget värde Description
    Namn ConfirmationResponse Ett namn som beskriver syftet med regeln
    Villkor Ingen Villkor som avgör när regeln kan köras
    Åtgärder Skicka talsvar>– enkel redigerare>Ok, turning the tv on Åtgärden som ska vidtas när regelvillkoret är sant

    Screenshot showing where to create a speech response.

  2. Spara åtgärden genom att välja Spara .

  3. I avsnittet Slutföranderegler väljer du Spara för att spara alla ändringar.

    Kommentar

    Du behöver inte använda standardregeln för slutförande som medföljer kommandot. Du kan ta bort standardregeln för slutförande och lägga till din egen regel.

Lägga till ett SetTemperature-kommando

Lägg nu till ytterligare ett kommando, SetTemperature. Det här kommandot tar ett enda yttrande och Set the temperature to 40 degreessvarar med meddelandet Ok, setting temperature to 40 degrees.

Om du vill skapa det nya kommandot följer du de steg som du använde för TurnOn kommandot, men använder exempelsatsen Set the temperature to 40 degrees.

Redigera sedan de befintliga slutförandereglerna enligt följande:

Inställning Föreslaget värde
Namn ConfirmationResponse
Villkor Ingen
Åtgärder Skicka talsvar>Enkel redigerare>Första varianten>Ok, setting temperature to 40 degrees

Välj Spara för att spara alla ändringar i kommandot.

Lägga till ett SetAlarm-kommando

Skapa ett nytt SetAlarm kommando. Använd exempelsatsen Set an alarm for 9 am tomorrow. Redigera sedan de befintliga slutförandereglerna enligt följande:

Inställning Föreslaget värde
Namn ConfirmationResponse
Villkor Ingen
Åtgärder Skicka talsvar>Enkel redigerare>Första varianten>Ok, setting an alarm for 9 am tomorrow

Välj Spara för att spara alla ändringar i kommandot.

Prova nu

Testa programmets beteende med hjälp av testfönstret:

  1. I det övre högra hörnet i fönstret väljer du ikonen Träna .
  2. När träningen är klar väljer du Test.

Prova följande talindataexempel med röst eller text:

  • Du skriver: ange temperaturen till 40 grader
  • Förväntat svar: Ok, ställ in temperaturen på 40 grader
  • Du skriver: slå på tv:n
  • Förväntat svar: Ok, slå på tv:n
  • Du skriver: ställ in ett larm för 09.00 i morgon
  • Förväntat svar: Ok, ange ett larm för 09.00 i morgon

Screenshot showing the test in a web-chat interface.

Dricks

I testfönstret kan du välja Aktivera information för information om hur den här röstinmatningen eller textinmatningen bearbetades.

Lägga till parametrar till kommandon

I det här avsnittet får du lära dig hur du lägger till parametrar i dina kommandon. Kommandon kräver parametrar för att slutföra en uppgift. I komplexa scenarier kan parametrar användas för att definiera villkor som utlöser anpassade åtgärder.

Konfigurera parametrar för ett TurnOn-kommando

Börja med att redigera det befintliga TurnOn kommandot för att aktivera och inaktivera flera enheter.

  1. Nu när kommandot hanterar både på- och av-scenarier byter du namn på kommandot till TurnOnOff.

    1. I fönstret till vänster väljer du kommandot TurnOn . Välj sedan redigeringsknappen bredvid Kommandot Nytt överst i fönstret.

    2. I kommandofönstret Byt namn ändrar du namnet till TurnOnOff.

  2. Lägg till en ny parameter i kommandot. Parametern representerar om användaren vill aktivera eller inaktivera enheten.

    1. Välj Lägg till överst i mittenfönstret. I den nedrullningsbara menyn väljer du Parameter.

    2. I fönstret till höger i avsnittet Parametrar i rutan Namn lägger du till OnOff.

    3. Välj Obligatorisk. I fönstret Lägg till svar för en obligatorisk parameter väljer du Enkel redigerare. I fältet Första variant lägger du till På eller Av.

    4. Välj Uppdatera.

      Screenshot that shows the 'Add response for a required parameter' section with the 'Simple editor' tab selected.

    5. Konfigurera parameterns egenskaper med hjälp av följande tabell. Information om alla konfigurationsegenskaper för ett kommando finns i Begrepp och definitioner för anpassade kommandon.

      Konfiguration Föreslaget värde Description
      Namn OnOff Ett beskrivande namn för parametern
      Krävs Har valts Kryssruta som anger om ett värde för den här parametern krävs innan kommandot har slutförts.
      Svar för nödvändig parameter Enkel redigerare>On or Off? En fråga som frågar efter värdet för den här parametern när den inte är känd.
      Typ Sträng Parametertyp, till exempel Tal, Sträng, Datumtid eller Geografi.
      Konfiguration Acceptera fördefinierade indatavärden från en intern katalog För strängar begränsar den här inställningen indata till en uppsättning möjliga värden.
      Fördefinierade indatavärden on, off Uppsättning möjliga värden och deras alias.
    6. Om du vill lägga till fördefinierade indatavärden väljer du Lägg till en fördefinierad indata. I fönstret Nytt objekt skriver du Namn enligt föregående tabell. I det här fallet använder du inte alias, så du kan lämna fältet tomt.

      Screenshot showing how to create a parameter.

    7. Välj Spara för att spara alla konfigurationer av parametern.

Lägga till en SubjectDevice-parameter

  1. Om du vill lägga till en andra parameter som representerar namnet på de enheter som kan styras med hjälp av det här kommandot väljer du Lägg till. Använd följande konfiguration.

    Inställning Föreslaget värde
    Namn SubjectDevice
    Krävs Har valts
    Svar för nödvändig parameter Enkel redigerare>Which device do you want to control?
    Typ Sträng
    Konfiguration Acceptera fördefinierade indatavärden från en intern katalog
    Fördefinierade indatavärden tv, fan
    Alias (tv) television, telly
  2. Välj Spara.

Ändra exempel meningar

För kommandon som använder parametrar är det bra att lägga till exempel meningar som täcker alla möjliga kombinationer. Till exempel:

  • Fullständig parameterinformation: turn {OnOff} the {SubjectDevice}
  • Delparameterinformation: turn it {OnOff}
  • Ingen parameterinformation: turn something

Exempel på meningar som använder varierande grad av information gör att programmet anpassade kommandon kan matcha både enstaka lösningar och lösningar med flera svängar med hjälp av partiell information.

Med den informationen i åtanke redigerar du exempelmeningarna så att de här föreslagna parametrarna används:

turn {OnOff} the {SubjectDevice}
{SubjectDevice} {OnOff}
turn it {OnOff}
turn something {OnOff}
turn something

Välj Spara.

Dricks

I redigeringsprogrammet för exempel meningar använder du klammerparenteser för att referera till dina parametrar. Exempel: turn {OnOff} the {SubjectDevice} Använd en flik för automatisk slutförande som backas upp av tidigare skapade parametrar.

Ändra slutföranderegler så att de innehåller parametrar

Ändra den befintliga slutföranderegeln ConfirmationResponse.

  1. I avsnittet Villkor väljer du Lägg till ett villkor.

  2. I fönstret Nytt villkor går du till listan Typ och väljer Obligatoriska parametrar. I listan som följer väljer du både OnOff och SubjectDevice.

  3. Välj Skapa.

  4. I avsnittet Åtgärder redigerar du åtgärden Skicka talsvar genom att hovra över den och välja redigeringsknappen. Den här gången använder du de nyligen skapade OnOff parametrarna och SubjectDevice parametrarna:

    Ok, turning the {SubjectDevice} {OnOff}
    
  5. Välj Spara.

Prova ändringarna genom att välja ikonen Träna längst upp i fönstret till höger.

När träningen är klar väljer du Test. Fönstret Testa ditt program visas. Prova följande interaktioner:

  • Indata: Stäng av tv:n
  • Utdata: Ok, stänga av tv:n
  • Indata: Stäng av TV:n
  • Utdata: Ok, stänga av tv:n
  • Indata: inaktivera den
  • Utdata: Vilken enhet vill du styra?
  • Indata: tv:n
  • Utdata: Ok, stänga av tv:n

Konfigurera parametrar för ett SetTemperature-kommando

SetTemperature Ändra kommandot så att det kan ställa in temperaturen som användaren dirigerar.

Lägg till en TemperatureValue parameter. Använd följande konfiguration:

Konfiguration Föreslaget värde
Namn TemperatureValue
Krävs Har valts
Svar för nödvändig parameter Enkel redigerare>What temperature would you like?
Typ Number

Redigera exempelyttranden för att använda följande värden.

set the temperature to {TemperatureValue} degrees
change the temperature to {TemperatureValue}
set the temperature
change the temperature

Redigera de befintliga slutförandereglerna. Använd följande konfiguration.

Konfiguration Föreslaget värde
Villkor Obligatorisk parameter>TemperatureValue
Åtgärder Skicka talsvar>Ok, setting temperature to {TemperatureValue} degrees

Konfigurera parametrar för ett SetAlarm-kommando

Lägg till en parameter med namnet DateTime. Använd följande konfiguration.

Inställning Föreslaget värde
Namn DateTime
Krävs Har valts
Svar för nödvändig parameter Enkel redigerare>For what time?
Typ Datetime
Standardvärden för datum Om datumet saknas använder du i dag.
Standardvärden för tid Om tiden saknas använder du dagens start.

Kommentar

Den här artikeln använder främst parametertyperna String, Number och DateTime. En lista över alla parametertyper som stöds och deras egenskaper finns i Begrepp och definitioner för anpassade kommandon.

Redigera exempelyttranden. Använd följande värden.

set an alarm for {DateTime}
set alarm {DateTime}
alarm for {DateTime}

Redigera de befintliga slutförandereglerna. Använd följande konfiguration.

Inställning Föreslaget värde
Åtgärder Skicka talsvar>Ok, alarm set for {DateTime}

Testa de tre kommandona tillsammans med hjälp av yttranden relaterade till olika kommandon. (Du kan växla mellan de olika kommandona.)

  • Indata: Ställ in ett larm
  • Utdata: För vilken tid?
  • Indata: Slå på tv:n
  • Utdata: Ok, slå på tv:n
  • Indata: Ställ in ett larm
  • Utdata: För vilken tid?
  • Indata: 17.00
  • Utdata: Ok, larm inställt för 2020-05-01 17:00:00

Lägga till konfigurationer i kommandoparametrar

I det här avsnittet lär du dig mer om avancerad parameterkonfiguration, inklusive:

  • Hur parametervärden kan tillhöra en uppsättning som definieras utanför programmet Anpassade kommandon.
  • Så här lägger du till valideringssatser för parametervärdena.

Konfigurera en parameter som en extern katalogentitet

Med funktionen Anpassade kommandon kan du konfigurera strängtypsparametrar för att referera till externa kataloger som finns över en webbslutpunkt. Du kan därför uppdatera den externa katalogen oberoende av varandra utan att redigera programmet Anpassade kommandon. Den här metoden är användbar i fall där katalogposterna är många.

Återanvänd parametern SubjectDevice från TurnOnOff kommandot. Den aktuella konfigurationen för den här parametern är Acceptera fördefinierade indata från den interna katalogen. Den här konfigurationen refererar till en statisk lista över enheter i parameterkonfigurationen. Flytta ut det här innehållet till en extern datakälla som kan uppdateras oberoende av varandra.

Om du vill flytta innehållet börjar du med att lägga till en ny webbslutpunkt. I fönstret till vänster går du till avsnittet Webbslutpunkter . Lägg till en ny webbslutpunkts-URL. Använd följande konfiguration.

Inställning Föreslaget värde
Namn getDevices
URL <Your endpoint of getDevices.json>
Metod GET

Sedan konfigurerar och är värd för en webbslutpunkt som returnerar en JSON-fil som visar de enheter som kan styras. Webbslutpunkten ska returnera en JSON-fil formaterad som det här exemplet:

{
    "fan" : [],
    "refrigerator" : [
        "fridge"
    ],
    "lights" : [
        "bulb",
        "bulbs",
        "light",
        "light bulb"
    ],
    "tv" : [
        "telly",
        "television"
        ]
}

Gå sedan till sidan Inställningar för SubjectDevice-parametern . Konfigurera följande egenskaper.

Inställning Föreslaget värde
Konfiguration Acceptera fördefinierade indata från en extern katalog
Katalogslutpunkt getDevices
Metod GET

Välj sedan Spara.

Viktigt!

Du ser inget alternativ för att konfigurera en parameter för att acceptera indata från en extern katalog om du inte har angett webbslutpunkten i avsnittet Webbslutpunkt i fönstret till vänster.

Prova genom att välja Träna. När träningen är klar väljer du Testa och provar några interaktioner.

  • Indata: aktivera
  • Utdata: Vilken enhet vill du styra?
  • Indata: lampor
  • Utdata: Ok, tänd lamporna

Kommentar

Nu kan du styra alla enheter som finns på webbslutpunkten. Men du måste fortfarande träna programmet för att testa de nya ändringarna och sedan publicera om programmet.

Lägga till validering i parametrar

Valideringar är konstruktioner som gäller för vissa parametertyper som gör att du kan konfigurera begränsningar för parameterns värde. De uppmanar dig att göra korrigeringar om värdena inte omfattas av begränsningarna. En lista över parametertyper som utökar valideringskonstruktionen finns i Begrepp och definitioner för anpassade kommandon.

Testa valideringar med hjälp SetTemperature av kommandot . Använd följande steg för att lägga till en validering för parametern Temperature .

  1. I fönstret till vänster väljer du kommandot SetTemperature .

  2. I det mellersta fönstret väljer du Temperatur.

  3. I fönstret till höger väljer du Lägg till en validering.

  4. I fönstret Ny validering konfigurerar du valideringen enligt följande tabell. Välj sedan Skapa.

    Parameterkonfiguration Föreslaget värde beskrivning
    Minsta värde 60 För Talparametrar kan det lägsta värde som den här parametern kan anta
    Maximalt värde 80 För Talparametrar kan det maximala värdet som den här parametern kan anta
    Felsvar Enkel redigerare>Första varianten>Sorry, I can only set temperature between 60 and 80 degrees. What temperature do you want? En uppmaning om att be om ett nytt värde om verifieringen misslyckas

    Screenshot showing how to add a range validation.

Prova genom att välja ikonen Träna längst upp i fönstret till höger. När träningen är klar väljer du Test. Prova några interaktioner:

  • Indata: Ställ in temperaturen på 72 grader
  • Utdata: Ok, ställ in temperaturen på 72 grader
  • Indata: Ställ in temperaturen på 45 grader
  • Utdata: Jag kan bara ställa in temperatur mellan 60 grader och 80 grader
  • Indata: gör det till 72 grader i stället
  • Utdata: Ok, ställ in temperaturen på 72 grader

Lägga till interaktionsregler

Interaktionsregler är extra regler som hanterar specifika eller komplexa situationer. Även om du kan skapa egna interaktionsregler använder du i det här exemplet interaktionsregler för följande scenarier:

  • Bekräfta kommandon
  • Lägga till en enstegskorrigering i kommandon

Mer information om interaktionsregler finns i Begrepp och definitioner för anpassade kommandon.

Lägga till bekräftelser i ett kommando

Om du vill lägga till en bekräftelse använder SetTemperature du kommandot . Skapa interaktionsregler med hjälp av följande steg för att få bekräftelse:

  1. I fönstret till vänster väljer du kommandot SetTemperature .

  2. I den mellersta rutan lägger du till interaktionsregler genom att välja Lägg till. Välj sedan Kommandot Bekräfta interaktionsregler>.

    Den här åtgärden lägger till tre interaktionsregler. Reglerna ber användaren att bekräfta larmets datum och tid. De förväntar sig en bekräftelse (ja eller nej) för nästa tur.

    1. Ändra regeln Bekräfta kommandointeraktion med hjälp av följande konfiguration:

      1. Ändra namnet till Bekräfta temperatur.
      2. Villkoret Alla obligatoriska parametrar har redan angetts.
      3. Lägg till en ny åtgärd: Skriv>Skicka talsvar>Vill du ange temperaturen som {TemperatureValue}-grader?
      4. I avsnittet Förväntningar lämnar du standardvärdet Förväntar sig bekräftelse från användaren.

      Screenshot showing how to create the required parameter response.

    2. Ändra interaktionsregeln Bekräftelse lyckades för att hantera en lyckad bekräftelse (användaren sa ja).

      1. Ändra namnet till Bekräftelsetemperaturen lyckades.
      2. Lämna det befintliga bekräftelsevillkoret lyckades .
      3. Lägg till ett nytt villkor: Ange>obligatoriska parametrar>TemperatureValue.
      4. Lämna standardvärdet efter körningstillståndet som Kör slutföranderegler.
    3. Ändra regeln Bekräftelse nekad interaktion för att hantera scenarier när bekräftelse nekas (användaren sa nej).

      1. Ändra namnet till Bekräftelsetemperatur nekad.
      2. Lämna det befintliga villkoret Bekräftelse nekades .
      3. Lägg till ett nytt villkor: Ange>obligatoriska parametrar>TemperatureValue.
      4. Lägg till en ny åtgärd: Skriv>Skicka talsvar>Inga problem. Vilken temperatur då?.
      5. Ändra standardvärdet för tillstånd efter körning till Vänta på användarens indata.

Viktigt!

I den här artikeln använder du den inbyggda bekräftelsefunktionen. Du kan också lägga till interaktionsregler manuellt en i taget.

Prova ändringarna genom att välja Träna. När träningen är klar väljer du Test.

  • Indata: Ställ in temperaturen till 80 grader
  • Utdata: vill du ange temperaturen som 80 grader?
  • Indata: Nej
  • Utdata: Inga problem. Vilken temperatur då?
  • Indata: 72 grader
  • Utdata: vill du ange temperaturen som 72 grader?
  • Indata: Ja
  • Utdata: OK, ställ in temperaturen till 72 grader

Implementera korrigeringar i ett kommando

I det här avsnittet konfigurerar du en korrigering i ett steg. Den här korrigeringen används när uppfyllelseåtgärden har körts. Du ser också ett exempel på hur en korrigering är aktiverad som standard om kommandot inte har uppfyllts ännu. Om du vill lägga till en korrigering när kommandot inte är klart lägger du till den nya parametern AlarmTone.

I den vänstra rutan väljer du kommandot SetAlarm . Lägg sedan till den nya parametern AlarmTone.

  • Namn>AlarmTone
  • Skriv>sträng
  • Standardvärde-chimes>
  • Konfiguration>Acceptera fördefinierade indatavärden från den interna katalogen
  • Fördefinierade indatavärden>Chimes, Jingle och Echo (dessa värden är enskilda fördefinierade indata.)

Uppdatera sedan svaret för datetime-parametern till Redo att ange larm med tonen {AlarmTone}. För vilken tid?. Ändra sedan slutföranderegeln på följande sätt:

  1. Välj den befintliga slutföranderegeln ConfirmationResponse.
  2. Hovra över den befintliga åtgärden i fönstret till höger och välj Redigera.
  3. Uppdatera talsvaret till OK, alarm set for {DateTime}. The alarm tone is {AlarmTone}.

Viktigt!

Larmtonen kan ändras utan någon explicit konfiguration i ett pågående kommando. Det kan till exempel ändras när kommandot inte har slutförts än. En korrigering är aktiverad som standard för alla kommandoparametrar, oavsett turnummer, om kommandot ännu inte har uppfyllts.

Implementera en korrigering när ett kommando är klart

Plattformen Anpassade kommandon tillåter en stegskorrigering även när kommandot har slutförts. Den här funktionen är inte aktiverad som standard. Den måste konfigureras uttryckligen.

Använd följande steg för att konfigurera en korrigering i ett steg:

  1. I kommandot SetAlarm lägger du till en interaktionsregel av typen Uppdatera föregående kommando för att uppdatera det tidigare inställda larmet. Byt namn på interaktionsregeln till Uppdatera föregående larm.
  2. Lämna standardvillkoret: Föregående kommando måste uppdateras.
  3. Lägg till ett nytt villkor: Skriv>Den obligatoriska parametern>DateTime.
  4. Lägg till en ny åtgärd: Skriv>Skicka talsvar>Enkel redigerare>Uppdatera tidigare larmtid till {DateTime}.
  5. Lämna standardvärdet efter körningstillståndet när kommandot har slutförts.

Prova ändringarna genom att välja Träna. Vänta tills träningen har slutförts och välj sedan Test.

  • Indata: Ställ in ett larm.
  • Utdata: Redo att ställa in larm med tonen chimes. För vilken tid?
  • Indata: Ställ in ett larm med tonen som Jingle för 09:00 i morgon.
  • Utdata: OK, larmuppsättning för 2020-05-21 09:00:00. Larmsignalen är Jingle.
  • Indata: Nej, 08.00.
  • Utdata: Uppdaterar tidigare larmtid till 2020-05-29 08:00.

Kommentar

I ett verkligt program i avsnittet Åtgärder i den här korrigeringsregeln måste du också skicka tillbaka en aktivitet till klienten eller anropa en HTTP-slutpunkt för att uppdatera larmtiden i systemet. Den här åtgärden bör vara ensam ansvarig för att uppdatera larmtiden. Det bör inte vara ansvarigt för något annat attribut för kommandot. I det här fallet skulle det attributet vara larmtonen.

Lägga till språkgenereringsmallar för talsvar

Med språkgenereringsmallar (LG) kan du anpassa svaren som skickas till klienten. De introducerar varians i svaren. Du kan skapa språk genom att använda:

  • Språkgenereringsmallar.
  • Anpassningsbara uttryck.

Mallar för anpassade kommandon baseras på Bot Frameworks LG-mallar. Eftersom funktionen Anpassade kommandon skapar en ny LG-mall när det behövs (för talsvar i parametrar eller åtgärder) behöver du inte ange namnet på LG-mallen.

Så du behöver inte definiera mallen så här:

   # CompletionAction
   - Ok, turning {OnOff} the {SubjectDevice}
   - Done, turning {OnOff} the {SubjectDevice}
   - Proceeding to turn {OnOff} {SubjectDevice}

I stället kan du definiera brödtexten i mallen utan namnet, så här:

Screenshot showing a template editor example.

Den här ändringen introducerar variation i talsvaren som skickas till klienten. För ett yttrande väljs motsvarande talsvar slumpmässigt ut ur de angivna alternativen.

Genom att dra nytta av LG-mallar kan du också definiera komplexa talsvar för kommandon med hjälp av anpassningsbara uttryck. Mer information finns i formatet LG-mallar.

Som standard stöder funktionen Anpassade kommandon alla funktioner, med följande mindre skillnader:

  • I LG-mallarna representeras entiteter som ${entityName}. Funktionen Anpassade kommandon använder inte entiteter. Men du kan använda parametrar som variabler med antingen representationen ${parameterName} eller representationen {parameterName} .
  • Funktionen Anpassade kommandon stöder inte mallsammansättning och expansion eftersom du aldrig redigerar .lg-filen direkt. Du redigerar bara svaren för automatiskt skapade mallar.
  • Funktionen Anpassade kommandon stöder inte anpassade funktioner som LG matar in. Fördefinierade funktioner stöds.
  • Funktionen Anpassade kommandon stöder inte alternativ, till exempel strict, replaceNulloch lineBreakStyle.

Lägga till mallsvar i ett TurnOnOff-kommando

TurnOnOff Ändra kommandot för att lägga till en ny parameter. Använd följande konfiguration.

Inställning Föreslaget värde
Namn SubjectContext
Krävs Inte markerat
Typ Sträng
Standardvärde all
Konfiguration Acceptera fördefinierade indatavärden från den interna katalogen
Fördefinierade indatavärden room, , bathroomall

Ändra en slutföranderegel

Redigera avsnittet Åtgärder i den befintliga slutföranderegeln ConfirmationResponse. I åtgärdsfönstretRedigera växlar du till Mallredigeraren. Ersätt sedan texten med följande exempel.

- IF: @{SubjectContext == "all" && SubjectDevice == "lights"}
    - Ok, turning all the lights {OnOff}
- ELSEIF: @{SubjectDevice == "lights"}
    - Ok, turning {OnOff} the {SubjectContext} {SubjectDevice}
- ELSE:
    - Ok, turning the {SubjectDevice} {OnOff}
    - Done, turning {OnOff} the {SubjectDevice}

Träna och testa ditt program med hjälp av följande indata och utdata. Observera varianten av svar. Varianten skapas av flera alternativ för mallvärdet och även med hjälp av anpassningsbara uttryck.

  • Indata: slå på tv:n
  • Utdata: Ok, slå på tv:n
  • Indata: slå på tv:n
  • Utdata: Klar, aktiverad på tv:n
  • Indata: Släck lamporna
  • Utdata: Ok, släck alla lampor
  • Indata: Stäng av rumsbelysning
  • Utdata: Ok, stäng av rumsbelysningen

Använda en anpassad röst

Ett annat sätt att anpassa svar från anpassade kommandon är att välja en utdataröst. Använd följande steg för att växla standardrösten till en anpassad röst:

  1. Välj Inställningar i fönstret till vänster i programmet Anpassade kommandon.
  2. I mittenfönstret väljer du Anpassad röst.
  3. I tabellen väljer du en anpassad röst eller offentlig röst.
  4. Välj Spara.

Screenshot showing sample sentences and parameters.

Kommentar

För offentliga röster är neurala typer endast tillgängliga för specifika regioner. Mer information finns i Regioner som stöds av Speech-tjänsten.

Du kan skapa anpassade röster på sidan Anpassat röstprojekt . Mer information finns i Kom igång med anpassad röst.

Nu svarar programmet med den valda rösten i stället för standardrösten.

Nästa steg