1
resposta

Erro: No skills found for the assistant

Prezados,

Não consigo realizar o GET pelo http://127.0.0.1:1880/chat. Sempre retorna o erro "No skills found for the assistant". Já tentei as soluções apresentadas nos outros dois tópicos com a mesma dúvida ("msg.payload.output.generic", compartilhada pelo Thiago Santos e "Add dialog skill", compartilhada pelo Verlânio Jefferson de Menezes Gallindo) e não conecta, mesmo copiando várias vezes os parâmetros e revendo a aula algumas vezes.

Alguém poderia me ajudar, por gentileza?

1 resposta

Oiii André, como você está?

Peço desculpas pela demora em obter um retorno.

Isso está ocorrendo porque foi criado uma skill, mas a mesma não foi adicionada ao assistente. Verifique se no painel "Assistants" possui o valor 0 em Skills, como mostro abaixo:

Imagem com o fundo branco que mostra uma seta indicando o valor 0 na palavra Skills, que está  mais ao centro da tela

Caso esteja desse modo, clique nessa caixa e verá uma tela que possui um botão azul escrito "Add an actions or dialog skilll", clique nele:

Tela com o fundo branco, que mostra um botão azul escrito Add an actions or dialog skilll

Na próxima tela que se abrir, selecione "Add existing skill" e selecione a skill criada, nesse caso a "Vendas Pessoa Física":

Imagem com o fundo branco que mostra a opção Vendas Pessoa Física seleciona por um retângulo azul, mostrando que é para clicar nessa opção

Após isso você será direcionado para a seguinte tela, onde mostra que houve sucesso ao atrelar a skill ao assistente:

Imagem com o fundo branco que mostra que a skill está atrelada ao assistant, onde está escrito Linked Assistants(1): Auxílio ao Consumidor

Se voltarmos na tela inicial de Assistant onde inicialmente apresentava o valor 0, agora você deverá visualizar o valor 1:

Imagem com fundo branco que mostra o valor 1 em Skills, na tela de Assisants

Quanto ao código das funções, segue o mesmo mostrado em aula, mas com as novas atualizações da ferramenta, agora é necessário utilizar o objeto output para visualizarmos as respostas, ou seja, a função "Prepara mensagem de retorno para o site" ficará da seguinte forma:

msg.payload = {
  'respostas': msg.payload.output.generic,
  'session_id': msg.payload.session_id
};
return msg;

Para finalizar, deixo abaixo a imagem do flow do Node-Red e as respectivas funções:

Imagem com o fundo branco que mostra os nós que foram feitos no Node-Red mostrados em aula

Função Prepara mensagem para o assistent:

msg.params = {
  'session_id': msg.payload.session_id !== 'undefined' ? msg.payload.session_id : ''  
};

msg.payload = msg.payload.mensagem;

return msg;

Função Prepara mensagem de retorno para o site:

msg.payload = {
  'respostas': msg.payload.output.generic,
  'session_id': msg.payload.session_id
};
return msg;

Após as modificações, tente acessar o endpoint /chat novamente e verifique se obterá êxito.

Qualquer dúvida fico à disposição.

Grande abraço e bons estudos!