Solucionado (ver solução)
Solucionado
(ver solução)
3
respostas

Validação (Sim ou Não) em um nó com Slots

Olá, tudo bem? Tenho um nó com 4 slots, sendo que o primeiro checa uma entidade @sim-não:sim, sendo a resposta positiva, ele segue para os demais slots. O que não estão conseguindo fazer é criar uma alternativa para uma resposta do tipo @sim-não:não. Nesse caso, ele fica apenas repetindo a pergunta do primeiro slot até obter uma resposta do tipo @sim-não:sim.

No seu exemplo da Aula 05 - passo 5 você faz essa validação só ao final, ou seja, após os 4 slots serem "percorridos", o chat cai na pergunta do nó, onde há duas possibilidades dependendo do que o bot reconhecer, @sim-não:sim ou @sim-não:não. E detalhe que, na interface atual, para fazer temos que habilitar a opção de "Multiple Responses" no nó. Até aí ok.

Mas o que quero é ter essa validação no início da fila de slots, de modo que se após o primeiro slot a resposta do usuário for do tipo @sim-não:não, o chat deixe de percorrer os demais slots e direcione uma determinada resposta ao usuário. É possível? Tentei de algumas formas mas ainda sem sucesso =/

Espero que não tenha ficado muito confuso. Obrigado!

3 respostas

Oi Paulo,

até onde eu sei não tem como pular para fora do slot, eu também gostaria que desse, e espero que um dia implementem essa feature, mas, por enquanto pense no slot como um bloco inteiro.

O que você pode fazer para resolver o problema é separar essa alternativa em um nó filho do slot, e tentar passar de um para outro. Ou, caso não precise de respostas encadeadas, fazer em nós separados mesmo e ir controlando pela camada de aplicação.

Veja se faz sentido, qualquer coisa pode mandar um screenshot e pensamos outros modos de resolver.

Abraços

Entendi. Antes de mais nada, agradeço pela atenção em tentar me ajudar.

Quebrei bastante a cabeça procurando alternativas mas sem sucesso. Há algumas atualizações nas interfaces desde que o curso foi gravado, uma delas é a possibilidade de editar os slots. Note que há uma engrenagem em cada um onde é possível criar condicionais tanto para habilitar ou não o slot quanto para validar possíveis respostas dos usuários. Explorei bastante esses recursos mas não consegui algo produtivo. Não sei se há alguma falha por o Assistant estar em testes ou se eu que não entendi a lógica da interface e, consequentemente, da implementação que é refletida em JSON. Talvez você, com um olhar mais apurado, consiga algum resultado rs.

Entretanto, uma solução para o caso, foi deixar o nó "raiz" com opção de múltiplas respostas habilitadas, com duas opções de resposta. Se o usuário aceitar as condições (primeira pergunta do nó raiz), é levado para o nó filho, que possui vários slots para dar sequência ao assunto. Caso o usuário não aceite, é levado para um nó de "despedida" via jump (meio que um pouco do que você citou na resposta). Vou me virando assim, apesar de ter entendido que quanto menos ramificações melhor a organização e leitura do Watson.

Aproveito também para parabenizar pelas aulas. A didática é ótima e sua linha de raciocínio muito clara nas explicações. Parabéns!

Abraços

solução!

Ótima solução Paulo,

nesse caso, como os slots ainda não estão flexíveis o bastante para termos uma outra forma de resolver, pode ficar tranquilo quanto ao número de ramificações, ele foi necessário nesse momento, então foi a melhor maneira de resolver.

Obrigada por informar sobre as atualizações, para garantir, eu sempre acesso o Assistant para responder vocês. E, fique preparado, pois a idéia deles é seguir atualizando a ferramenta, logo, sempre vai ter coisa nova.

Muito obrigada! Eu fico super feliz que tenha gostado das aulas, esse foi o meu primeiro curso e é gratificante ter um feedback como esse! :).

Abraços