[Resolvido] Utilizando inteligencia artificial junto com o BlipSDK-JS

Precisava pegar a mensagem do usuário (message.content) e enviar para a inteligência artificial (watson ou luis), já configurado no blip e pegar essa intenção para poder verificar que mensagem responder

let BlipSdk = require('blip-sdk');
let WebSocketTransport = require('lime-transport-websocket');
let intensao = null;

let client = new BlipSdk.ClientBuilder()
    .withIdentifier(identifier)
    .withAccessKey(accessKey)
    .withTransportFactory(() => new WebSocketTransport())
    .build();
/*

*/

client.addMessageReceiver(function(intensao){ 
    return (intensao == 'comprar');
}, function (message) {
    client.sendMessage({
    	to: message.from,
    	type: "text/plain",
    	content: "Legal, você quer comprar"
    });
    return false;
});


client.addMessageReceiver(function(intensao){ 
    return (intensao == 'vender');
}, function (message) {
    client.sendMessage({
    	to: message.from,
    	type: "text/plain",
    	content: "Jóia, você quer vender"
    });
    return false;
});


client.connect()
    .then(function (session) {
        console.log('Connected');
    })
    .catch(function (err) {
        console.log(err);
    });

Olá @odirleiborgert, tudo bem ?

Para analisar sentenças no Hub de IA do BLiP vc precisa organizar seu código de forma diferente.

Vamos ao passo a passo (SDK Javascript):

1 - Defina um receiver para receber as mensagens de texto enviadas pelos usuários do seu bot

2 - Envie um comando para a uri “/analysis” para analisar o texto recebido

3- Utilize a resposta do comando de análise para descobrir a intenção e as entidades relacionadas ao texto enviado pelo cliente.

O código abaixo mostra um exemplo de receiver que faz exatamente esse processo.

//1 - Criar receiver que recebe apenas texto
client.addMessageReceiver((m) => m.type === 'text/plain', (m) => {
    
    //2 - Usar extensão de IA através de um comando de análise
    client.sendCommand({
        id: Lime.Guid(),
        method: 'set',
        type: 'application/vnd.iris.ai.analysis-request+json',
        uri: '/analysis',
        to: 'postmaster@ai.msging.net',
        resource: {
              text:m.content
        }
    })
    .then(r => {

        console.log(r)
        //3 - Utilizar a resposta do comando de análise
        //Faça o que quiser com o resultado do provedor de IA
        //r.intentions (para ver a lista de intenções ordenadas por score)
        //r.entities (para ver a lista de entidades reconhecidas)
    })
    .catch(e => console.log(e));    
});

Experimente utilizar esta estrutura em seu código :wink:

1 Curtida