Desenvolver aplicativos de comandos personalizados
Importante
Os Comandos Personalizados serão desativados em 30 de abril de 2026. A partir de 30 de outubro de 2023, você não poderá criar novos aplicativos de Comandos Personalizados no Speech Studio. Relacionado com esta mudança, o LUIS será aposentado a 1 de outubro de 2025. A partir de 1 de abril de 2023 não é possível criar novos recursos LUIS.
Neste artigo de instruções, você aprenderá a desenvolver e configurar aplicativos de Comandos Personalizados. O recurso Comandos personalizados ajuda você a criar aplicativos avançados de comando de voz otimizados para experiências de interação que priorizam a voz. O recurso é mais adequado para a conclusão de tarefas ou cenários de comando e controle. É adequado para dispositivos de Internet das Coisas (IoT) e para dispositivos ambientais e sem cabeça.
Neste artigo, você cria um aplicativo que pode ligar e desligar uma TV, definir a temperatura e definir um alarme. Depois de criar esses comandos básicos, você aprenderá sobre as seguintes opções para personalizar comandos:
- Adicionando parâmetros a comandos
- Adicionando configurações aos parâmetros de comando
- Construindo regras de interação
- Criação de modelos de geração de linguagem para respostas de fala
- Usando ferramentas de voz personalizadas
Criar um aplicativo usando comandos simples
Comece criando um aplicativo de Comandos Personalizados vazio. Para obter detalhes, consulte o início rápido. Neste aplicativo, em vez de importar um projeto, você cria um projeto em branco.
Na caixa Nome, digite o nome do projeto Smart-Room-Lite (ou outro nome de sua escolha).
Na lista Idioma, selecione Inglês (Estados Unidos).
Selecione ou crie um recurso LUIS.
Atualizar recursos LUIS (opcional)
Você pode atualizar o recurso de criação selecionado na janela Novo projeto . Você também pode definir um recurso de previsão.
Um recurso de previsão é usado para reconhecimento quando seu aplicativo de Comandos Personalizados é publicado. Você não precisa de um recurso de previsão durante as fases de desenvolvimento e teste.
Adicionar um comando TurnOn
No aplicativo Smart-Room-Lite Custom Commands vazio que você criou, adicione um comando. O comando processa um enunciado, Turn on the tv
. Ele responde com a mensagem Ok, turning the tv on
.
- Crie um novo comando selecionando Novo comando na parte superior do painel esquerdo. A janela de comando Novo é aberta.
- Para o campo Nome, forneça o valor
TurnOn
. - Selecione Criar.
O painel do meio lista as propriedades do comando.
A tabela a seguir explica as propriedades de configuração do comando. Para obter mais informações, consulte Conceitos e definições de comandos personalizados.
Configuração | Description |
---|---|
Frases de exemplo | Exemplos de enunciados que o usuário pode dizer para acionar esse comando. |
Parâmetros | Informações necessárias para concluir o comando. |
Regras de conclusão | Ações a serem tomadas para cumprir o comando. Exemplos: responder ao utilizador ou comunicar com um serviço Web. |
Regras de interação | Outras regras para lidar com situações mais específicas ou complexas. |
Adicionar frases de exemplo
Na seção Frases de exemplo, você fornece um exemplo do que o usuário pode dizer.
No painel central, selecione Frases de exemplo.
No painel à direita, adicione exemplos:
Turn on the tv
Na parte superior do painel, selecione Salvar.
Você ainda não tem parâmetros, então pode ir para a seção Regras de conclusão.
Adicionar uma regra de conclusão
Em seguida, o comando precisa de uma regra de conclusão. Esta regra informa ao usuário que uma ação de cumprimento está sendo executada.
Para obter mais informações sobre regras e regras de conclusão, consulte Conceitos e definições de comandos personalizados.
Selecione a regra de conclusão padrão Concluído. Em seguida, edite-o da seguinte forma:
Definição Valor sugerido Description Nome ConfirmationResponse
Um nome que descreve a finalidade da regra Condições Nenhuma Condições que determinam quando a regra pode ser executada Ações Enviar resposta>de fala Editor simples> Ok, turning the tv on
A ação a ser tomada quando a condição da regra for verdadeira Selecione Salvar para salvar a ação.
De volta à seção Regras de conclusão, selecione Salvar para salvar todas as alterações.
Nota
Não é necessário usar a regra de conclusão padrão que acompanha o comando. Você pode excluir a regra de conclusão padrão e adicionar sua própria regra.
Adicionar um comando SetTemperature
Agora adicione mais um comando, SetTemperature
. Este comando usa um único enunciado Set the temperature to 40 degrees
e responde com a mensagem Ok, setting temperature to 40 degrees
.
Para criar o novo comando, siga as etapas usadas para o TurnOn
comando, mas use a frase Set the temperature to 40 degrees
de exemplo .
Em seguida, edite as regras de conclusão Concluído existentes da seguinte maneira:
Definição | Valor sugerido |
---|---|
Nome | ConfirmationResponse |
Condições | Nenhuma |
Ações | Enviar resposta>de fala Editor>simples Primeira variação>Ok, setting temperature to 40 degrees |
Selecione Salvar para salvar todas as alterações no comando.
Adicionar um comando SetAlarm
Crie um novo SetAlarm
comando. Use a frase Set an alarm for 9 am tomorrow
de exemplo . Em seguida, edite as regras de conclusão Concluído existentes da seguinte maneira:
Definição | Valor sugerido |
---|---|
Nome | ConfirmationResponse |
Condições | Nenhuma |
Ações | Enviar resposta>de fala Editor>simples Primeira variação>Ok, setting an alarm for 9 am tomorrow |
Selecione Salvar para salvar todas as alterações no comando.
Experimente
Teste o comportamento do aplicativo usando o painel de teste:
- No canto superior direito do painel, selecione o ícone Treinar .
- Quando o treinamento terminar, selecione Testar.
Experimente os seguintes exemplos de enunciados usando voz ou texto:
- Você digita: defina a temperatura para 40 graus
- Resposta esperada: Ok, definindo a temperatura para 40 graus
- Você digita: liga a TV
- Resposta esperada: Ok, ligando a TV
- Você digita: defina um alarme para 9 da manhã de amanhã
- Resposta esperada: Ok, definir um alarme para as 9 da manhã de amanhã
Gorjeta
No painel de teste, você pode selecionar Ativar detalhes para obter informações sobre como essa entrada de voz ou texto foi processada.
Adicionar parâmetros aos comandos
Nesta seção, você aprenderá a adicionar parâmetros aos seus comandos. Os comandos requerem parâmetros para concluir uma tarefa. Em cenários complexos, os parâmetros podem ser usados para definir condições que acionam ações personalizadas.
Configurar parâmetros para um comando TurnOn
Comece editando o comando existente TurnOn
para ativar e desativar vários dispositivos.
Agora que o comando lida com cenários on e off, renomeie o comando como TurnOnOff.
No painel à esquerda, selecione o comando TurnOn . Em seguida, ao lado de Novo comando na parte superior do painel, selecione o botão de edição.
Na janela de comando Renomear, altere o nome para TurnOnOff.
Adicione um novo parâmetro ao comando. O parâmetro representa se o usuário deseja ligar ou desligar o dispositivo.
Na parte superior do painel central, selecione Adicionar. No menu suspenso, selecione Parâmetro.
No painel à direita, na seção Parâmetros, na caixa Nome, adicione
OnOff
.Selecione Obrigatória. Na janela Adicionar resposta para um parâmetro necessário, selecione Editor simples. No campo Primeira variação, adicione Ativado ou Desativado.
Selecione Atualizar.
Configure as propriedades do parâmetro usando a tabela a seguir. Para obter informações sobre todas as propriedades de configuração de um comando, consulte Conceitos e definições de comandos personalizados.
Configuração Valor sugerido Description Nome OnOff
Um nome descritivo para o parâmetro Obrigatório Selecionado Caixa de seleção que indica se um valor para esse parâmetro é necessário antes que o comando seja concluído. Resposta para o parâmetro necessário Editor simples> On or Off?
Um prompt solicitando o valor desse parâmetro quando ele não é conhecido. Tipo Cadeia Tipo de parâmetro, como Número, String, Data Hora ou Geografia. Configuração Aceitar valores de entrada predefinidos de um catálogo interno Para cadeias de caracteres, essa configuração limita as entradas a um conjunto de valores possíveis. Valores de entrada predefinidos on
,off
Conjunto de valores possíveis e seus aliases. Para adicionar valores de entrada predefinidos, selecione Adicionar uma entrada predefinida. Na janela Novo Item , digite Nome conforme mostrado na tabela anterior. Neste caso, não está a utilizar aliases, pelo que pode deixar este campo em branco.
Selecione Salvar para salvar todas as configurações do parâmetro.
Adicionar um parâmetro SubjectDevice
Para adicionar um segundo parâmetro para representar o nome dos dispositivos que podem ser controlados usando esse comando, selecione Adicionar. Use a seguinte configuração.
Definição Valor sugerido Nome SubjectDevice
Obrigatório Selecionado Resposta para o parâmetro necessário Editor simples> Which device do you want to control?
Tipo Cadeia Configuração Aceitar valores de entrada predefinidos de um catálogo interno Valores de entrada predefinidos tv
,fan
Pseudónimos ( tv
)television
,telly
Selecione Guardar.
Modificar frases de exemplo
Para comandos que usam parâmetros, é útil adicionar frases de exemplo que abranjam todas as combinações possíveis. Por exemplo:
- Informações completas sobre os parâmetros:
turn {OnOff} the {SubjectDevice}
- Informação parcial dos parâmetros:
turn it {OnOff}
- Nenhuma informação de parâmetro:
turn something
Frases de exemplo que usam diferentes graus de informação permitem que o aplicativo Comandos Personalizados resolva resoluções de uma captura e resoluções de várias voltas usando informações parciais.
Com essas informações em mente, edite as frases de exemplo para usar estes parâmetros sugeridos:
turn {OnOff} the {SubjectDevice}
{SubjectDevice} {OnOff}
turn it {OnOff}
turn something {OnOff}
turn something
Selecione Guardar.
Gorjeta
No editor de frases de exemplo, use chaves para fazer referência aos seus parâmetros. Por exemplo, turn {OnOff} the {SubjectDevice}
.
Use uma guia para conclusão automática apoiada por parâmetros criados anteriormente.
Modificar regras de conclusão para incluir parâmetros
Modifique a regra ConfirmationResponse
de conclusão existente.
Na seção Condições, selecione Adicionar uma condição.
Na janela Nova condição, na lista Tipo, selecione Parâmetros necessários. Na lista a seguir, selecione OnOff e SubjectDevice.
Selecione Criar.
Na seção Ações, edite a ação Enviar resposta de fala passando o mouse sobre ela e selecionando o botão de edição. Desta vez, use os parâmetros e
SubjectDevice
recém-criadosOnOff
:Ok, turning the {SubjectDevice} {OnOff}
Selecione Guardar.
Experimente as alterações selecionando o ícone Trem na parte superior do painel à direita.
Quando o treinamento terminar, selecione Testar. Uma janela Testar seu aplicativo é exibida. Tente as seguintes interações:
- Entrada: desligue a tv
- Saída: Ok, desligando a tv
- Entrada: desligue a televisão
- Saída: Ok, desligando a tv
- Entrada: desligue-o
- Saída: Qual dispositivo você deseja controlar?
- Entrada: a tv
- Saída: Ok, desligando a tv
Configurar parâmetros para um comando SetTemperature
Modifique o comando para permitir que ele defina a temperatura como o SetTemperature
usuário direciona.
Adicione um TemperatureValue
parâmetro. Utilize a seguinte configuração:
Configuração | Valor sugerido |
---|---|
Nome | TemperatureValue |
Obrigatório | Selecionado |
Resposta para o parâmetro necessário | Editor simples>What temperature would you like? |
Tipo | Number |
Edite os enunciados de exemplo para usar os seguintes valores.
set the temperature to {TemperatureValue} degrees
change the temperature to {TemperatureValue}
set the temperature
change the temperature
Edite as regras de conclusão existentes. Use a seguinte configuração.
Configuração | Valor sugerido |
---|---|
Condições | Parâmetro>necessário TemperatureValue |
Ações | Enviar resposta de fala>Ok, setting temperature to {TemperatureValue} degrees |
Configurar parâmetros para um comando SetAlarm
Adicione um parâmetro chamado DateTime
. Use a seguinte configuração.
Definição | Valor sugerido |
---|---|
Nome | DateTime |
Obrigatório | Selecionado |
Resposta para o parâmetro necessário | Editor simples>For what time? |
Tipo | DateTime |
Padrões de data | Se a data estiver faltando, use hoje. |
Padrões de tempo | Se faltar a hora, utilize o início do dia. |
Nota
Este artigo usa principalmente os tipos de parâmetros String, Number e DateTime. Para obter uma lista de todos os tipos de parâmetros suportados e suas propriedades, consulte Conceitos e definições de comandos personalizados.
Edite os enunciados de exemplo. Use os seguintes valores.
set an alarm for {DateTime}
set alarm {DateTime}
alarm for {DateTime}
Edite as regras de conclusão existentes. Use a seguinte configuração.
Definição | Valor sugerido |
---|---|
Ações | Enviar resposta de fala>Ok, alarm set for {DateTime} |
Teste os três comandos juntos usando enunciados relacionados a comandos diferentes. (Você pode alternar entre os diferentes comandos.)
- Entrada: Definir um alarme
- Saída: Por que horas?
- Entrada: Ligue a TV
- Saída: Ok, ligando a tv
- Entrada: Definir um alarme
- Saída: Por que horas?
- Entrada: 17h
- Saída: Ok, alarme definido para
2020-05-01 17:00:00
Adicionar configurações aos parâmetros de comando
Nesta seção, você aprenderá mais sobre a configuração avançada de parâmetros, incluindo:
- Como os valores de parâmetro podem pertencer a um conjunto definido fora do aplicativo Comandos personalizados.
- Como adicionar cláusulas de validação nos valores dos parâmetros.
Configurar um parâmetro como uma entidade de catálogo externo
O recurso Comandos personalizados permite configurar parâmetros de tipo de cadeia de caracteres para fazer referência a catálogos externos hospedados em um ponto de extremidade da Web. Assim, você pode atualizar o catálogo externo independentemente sem editar o aplicativo Comandos personalizados. Esta abordagem é útil nos casos em que as entradas do catálogo são numerosas.
Reutilize o SubjectDevice
TurnOnOff
parâmetro do comando. A configuração atual para este parâmetro é Aceitar entradas predefinidas do catálogo interno. Esta configuração refere-se a uma lista estática de dispositivos na configuração do parâmetro. Mova esse conteúdo para uma fonte de dados externa que possa ser atualizada independentemente.
Para mover o conteúdo, comece adicionando um novo ponto de extremidade da Web. No painel à esquerda, vá para a seção Pontos de extremidade da Web. Adicione um novo URL de ponto de extremidade da Web. Use a seguinte configuração.
Definição | Valor sugerido |
---|---|
Nome | getDevices |
URL | <Your endpoint of getDevices.json> |
Método | GET |
Em seguida, configure e hospede um ponto de extremidade da Web que retorna um arquivo JSON que lista os dispositivos que podem ser controlados. O ponto de extremidade da Web deve retornar um arquivo JSON formatado como este exemplo:
{
"fan" : [],
"refrigerator" : [
"fridge"
],
"lights" : [
"bulb",
"bulbs",
"light",
"light bulb"
],
"tv" : [
"telly",
"television"
]
}
Em seguida, vá para a página de configurações de parâmetros SubjectDevice . Configure as seguintes propriedades.
Definição | Valor sugerido |
---|---|
Configuração | Aceitar entradas predefinidas do catálogo externo |
Ponto de extremidade do catálogo | getDevices |
Método | GET |
Em seguida, selecione Guardar.
Importante
Você não verá uma opção para configurar um parâmetro para aceitar entradas de um catálogo externo, a menos que tenha o ponto de extremidade da Web definido na seção Ponto de extremidade da Web no painel à esquerda.
Experimente selecionando Treinar. Após o término do treinamento, selecione Testar e tente algumas interações.
- Entrada: ligar
- Saída: Qual dispositivo você deseja controlar?
- Entrada: luzes
- Saída: Ok, acendendo as luzes
Nota
Agora você pode controlar todos os dispositivos hospedados no ponto de extremidade da Web. Mas você ainda precisa treinar o aplicativo para testar as novas alterações e, em seguida, publicar novamente o aplicativo.
Adicionar validação a parâmetros
Validações são construções que se aplicam a determinados tipos de parâmetros que permitem configurar restrições no valor do parâmetro. Eles solicitam correções se os valores não estiverem dentro das restrições. Para obter uma lista de tipos de parâmetros que estendem a construção de validação, consulte Conceitos e definições de comandos personalizados.
Teste validações usando o SetTemperature
comando. Use as etapas a seguir para adicionar uma validação para o Temperature
parâmetro.
No painel à esquerda, selecione o comando SetTemperature .
No painel central, selecione Temperatura.
No painel à direita, selecione Adicionar uma validação.
Na janela Nova validação, configure a validação conforme mostrado na tabela a seguir. Depois, selecione Criar.
Configuração de parâmetros Valor sugerido Description Valor mínimo 60
Para parâmetros Number, o valor mínimo que este parâmetro pode assumir Valor máximo 80
Para parâmetros Number, o valor máximo que este parâmetro pode assumir Resposta a falhas Editor>simples Primeira variação> Sorry, I can only set temperature between 60 and 80 degrees. What temperature do you want?
Um prompt para solicitar um novo valor se a validação falhar
Experimente selecionando o ícone Trem na parte superior do painel à direita. Após o término do treinamento, selecione Testar. Experimente algumas interações:
- Entrada: Defina a temperatura para 72 graus
- Saída: Ok, definindo a temperatura para 72 graus
- Entrada: Defina a temperatura para 45 graus
- Saída: Desculpe, eu só posso definir a temperatura entre 60 graus e 80 graus
- Entrada: faça 72 graus em vez disso
- Saída: Ok, definindo a temperatura para 72 graus
Adicionar regras de interação
As regras de interação são regras extras que lidam com situações específicas ou complexas. Embora você seja livre para criar suas próprias regras de interação, neste exemplo você usa regras de interação para os seguintes cenários:
- Confirmando comandos
- Adicionando uma correção de uma etapa aos comandos
Para obter mais informações sobre regras de interação, consulte Conceitos e definições de comandos personalizados.
Adicionar confirmações a um comando
Para adicionar uma confirmação, use o SetTemperature
comando. Para obter a confirmação, crie regras de interação usando as seguintes etapas:
No painel à esquerda, selecione o comando SetTemperature .
No painel central, adicione regras de interação selecionando Adicionar. Em seguida, selecione Regras>de interação Confirmar comando.
Esta ação adiciona três regras de interação. As regras pedem ao usuário para confirmar a data e hora do alarme. Eles esperam uma confirmação (sim ou não) para o próximo turno.
Modifique a regra de interação do comando Confirm usando a seguinte configuração:
- Altere o nome para Confirmar temperatura.
- A condição Todos os parâmetros necessários já está definida.
- Adicionar uma nova ação: Digite>Enviar resposta>de fala Tem certeza de que deseja definir a temperatura como {TemperatureValue} graus?
- Na seção Expectativas, deixe o valor padrão de Esperando confirmação do usuário.
Modifique a regra de interação Confirmação bem-sucedida para lidar com uma confirmação bem-sucedida (o usuário disse que sim).
- Altere o nome para Temperatura de confirmação bem-sucedida.
- Deixar a condição existente Confirmação foi bem-sucedida .
- Adicione uma nova condição: Digite>Parâmetros>necessários TemperatureValue.
- Deixe o valor padrão do estado pós-execução como Executar regras de conclusão.
Modifique a regra de interação Confirmação negada para lidar com cenários em que a confirmação é negada (o usuário disse não).
- Altere o nome para Temperatura de confirmação negada.
- Deixar a condição de confirmação existente foi negada .
- Adicione uma nova condição: Digite>Parâmetros>necessários TemperatureValue.
- Adicionar uma nova ação: Digite>Enviar resposta>de fala Não há problema. Que temperatura então?.
- Altere o valor padrão do estado pós-execução para Aguarde a entrada do usuário.
Importante
Neste artigo, você usa o recurso de confirmação interno. Você também pode adicionar manualmente regras de interação, uma a uma.
Experimente as alterações selecionando Treinar. Quando o treinamento terminar, selecione Testar.
- Entrada: Defina a temperatura para 80 graus
- Saída: tem certeza de que deseja definir a temperatura como 80 graus?
- Entrada: Não
- Saída: Sem problemas. Que temperatura então?
- Entrada: 72 graus
- Saída: tem certeza de que deseja definir a temperatura como 72 graus?
- Entrada: Sim
- Saída: OK, definindo a temperatura para 72 graus
Implementar correções em um comando
Nesta seção, você configura uma correção de uma etapa. Essa correção é usada após a execução da ação de preenchimento. Você também verá um exemplo de como uma correção é habilitada por padrão se o comando ainda não for cumprido. Para adicionar uma correção quando o comando não estiver concluído, adicione o novo parâmetro AlarmTone
.
No painel esquerdo, selecione o comando SetAlarm . Em seguida, adicione o novo parâmetro AlarmTone.
- Nome>
AlarmTone
- Tipo>String
- Chimes de valor>padrão
- Configuração>Aceitar valores de entrada predefinidos do catálogo interno
- Valores>de entrada predefinidos Chimes, Jingle e Echo (Estes valores são entradas individuais predefinidas.)
Em seguida, atualize a resposta para o parâmetro DateTime para Ready to set alarm with tone as {AlarmTone}. Por que tempo?. Em seguida, modifique a regra de conclusão da seguinte maneira:
- Selecione a regra de conclusão existente ConfirmationResponse.
- No painel à direita, passe o mouse sobre a ação existente e selecione Editar.
- Atualize a resposta de fala para
OK, alarm set for {DateTime}. The alarm tone is {AlarmTone}
.
Importante
O tom de alarme pode mudar sem qualquer configuração explícita em um comando contínuo. Por exemplo, ele pode mudar quando o comando ainda não terminou. Uma correção é habilitada por padrão para todos os parâmetros do comando, independentemente do número da volta, se o comando ainda não tiver sido cumprido.
Implementar uma correção quando um comando for concluído
A plataforma Comandos Personalizados permite a correção em uma etapa, mesmo quando o comando termina. Esta funcionalidade não está ativada por predefinição. Deve ser explicitamente configurado.
Use as seguintes etapas para configurar uma correção de uma etapa:
- No comando SetAlarm, adicione uma regra de interação do tipo Atualizar comando anterior para atualizar o alarme definido anteriormente. Renomeie a regra de interação como Atualizar alarme anterior.
- Deixe a condição padrão: O comando anterior precisa ser atualizado.
- Adicione uma nova condição: Type>Required Parameter>DateTime.
- Adicionar uma nova ação: Tipo>Enviar resposta>de fala Editor>simples Atualizando a hora de alarme anterior para {DateTime}.
- Deixe o valor padrão do estado pós-execução como Comando concluído.
Experimente as alterações selecionando Treinar. Aguarde até que o treinamento termine e selecione Testar.
- Entrada: Defina um alarme.
- Saída: Pronto para definir o alarme com tom como Chimes. A que horas?
- Entrada: Defina um alarme com o tom como Jingle para as 9h de amanhã.
- Saída: OK, alarme definido para
2020-05-21 09:00:00
. O tom de alarme é Jingle. - Entrada: Não, 8h.
- Saída: Atualizando o tempo de alarme anterior para 2020-05-29 08:00.
Nota
Em um aplicativo real, na seção Ações desta regra de correção, você também precisará enviar de volta uma atividade para o cliente ou chamar um ponto de extremidade HTTP para atualizar o tempo de alarme em seu sistema. Esta ação deve ser a única responsável pela atualização do tempo de alarme. Ele não deve ser responsável por qualquer outro atributo do comando. Neste caso, esse atributo seria o tom de alarme.
Adicionar modelos de geração de idiomas para respostas de fala
Os modelos de geração de linguagem (LG) permitem personalizar as respostas enviadas ao cliente. Eles introduzem variância nas respostas. Você pode obter a geração de idiomas usando:
- Modelos de geração de idiomas.
- Expressões adaptativas.
Os modelos de Comandos Personalizados são baseados nos modelos LG do Bot Framework. Como o recurso Comandos personalizados cria um novo modelo LG quando necessário (para respostas de fala em parâmetros ou ações), não é necessário especificar o nome do modelo LG.
Portanto, você não precisa definir seu modelo assim:
# CompletionAction
- Ok, turning {OnOff} the {SubjectDevice}
- Done, turning {OnOff} the {SubjectDevice}
- Proceeding to turn {OnOff} {SubjectDevice}
Em vez disso, você pode definir o corpo do modelo sem o nome, da seguinte forma:
Esta alteração introduz variação nas respostas de fala que são enviadas ao cliente. Para um enunciado, a resposta de fala correspondente é escolhida aleatoriamente entre as opções fornecidas.
Aproveitando os modelos LG, você também pode definir respostas de fala complexas para comandos usando expressões adaptáveis. Para obter mais informações, consulte o formato de modelos LG.
Por padrão, o recurso Comandos personalizados suporta todos os recursos, com as seguintes pequenas diferenças:
- Nos modelos LG, as entidades são representadas como
${entityName}
. O recurso Comandos personalizados não usa entidades. Mas você pode usar parâmetros como variáveis com a representação ou a${parameterName}
{parameterName}
representação. - O recurso Comandos personalizados não suporta composição e expansão de modelos, porque você nunca edita o arquivo .lg diretamente. Você edita apenas as respostas de modelos criados automaticamente.
- O recurso Comandos personalizados não suporta funções personalizadas que a LG injeta. Funções predefinidas são suportadas.
- O recurso Comandos personalizados não oferece suporte a opções, como
strict
,replaceNull
elineBreakStyle
.
Adicionar respostas de modelo a um comando TurnOnOff
Modifique o TurnOnOff
comando para adicionar um novo parâmetro. Use a seguinte configuração.
Definição | Valor sugerido |
---|---|
Nome | SubjectContext |
Obrigatório | não selecionado |
Tipo | Cadeia |
Valor predefinido | all |
Configuração | Aceitar valores de entrada predefinidos do catálogo interno |
Valores de entrada predefinidos | room , , bathroom all |
Modificar uma regra de conclusão
Edite a seção Ações da regra de conclusão existente ConfirmationResponse. Na janela Editar ação, alterne para Editor de modelos. Em seguida, substitua o texto pelo exemplo a seguir.
- 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}
Treine e teste seu aplicativo usando as seguintes entradas e saídas. Observe a variação das respostas. A variação é criada por várias alternativas do valor do modelo e também pelo uso de expressões adaptativas.
- Entrada: ligue a tv
- Saída: Ok, ligando a tv
- Entrada: ligue a tv
- Saída: Feito, ligado a tv
- Entrada: desligue as luzes
- Saída: Ok, apagando todas as luzes
- Entrada: desligue as luzes da sala
- Saída: Ok, apagando as luzes da sala
Usar uma voz personalizada
Outra maneira de personalizar as respostas dos Comandos Personalizados é selecionar uma voz de saída. Use as seguintes etapas para alternar a voz padrão para uma voz personalizada:
- No aplicativo Comandos personalizados, no painel à esquerda, selecione Configurações.
- No painel central, selecione Voz personalizada.
- Na tabela, selecione uma voz personalizada ou uma voz pública.
- Selecione Guardar.
Nota
Para vozes públicas, os tipos neurais estão disponíveis apenas para regiões específicas. Para obter mais informações, consulte Regiões suportadas pelo serviço de fala.
Você pode criar vozes personalizadas na página Projeto de voz personalizado. Para obter mais informações, consulte Introdução à voz personalizada.
Agora, o aplicativo responde na voz selecionada, em vez da voz padrão.
Próximos passos
- Saiba como integrar seu aplicativo de Comandos Personalizados com um aplicativo cliente usando o SDK de Fala.
- Configure a implantação contínua para seu aplicativo de Comandos Personalizados usando o Azure DevOps.