Inteligência artificial
Last updated
Last updated
Na Sapios Bot é possível otimizar uma conversa com um chatbot atrelando um canal de Inteligência Artificial ao mesmo.
Essa função pode ser útil afim de preparar o bot para diversos termos em que o usuário queira expressar seu pedido, tendo uma resposta mais assertiva.
Existem 3 canais disponíveis para utilização na Sapios Bot:
RASA;
Google Dialogflow;
IBM Watson;
Mostraremos nesta seção como funciona os canais.
Em breve disponíveis
O Dialogflow funciona junto ao Google Cloud Platform, plataforma onde os seus perfis de projetos com bots e APIs são armazenados. Neste caso é necessário que faça um registro ou caso tenha uma conta, faça login em sua conta do Google Cloud e inicie um novo projeto.
1 – Para criar um projeto, siga pelo sinal ao lado do nome “Google Cloud Platform” mostrado na imagem acima, uma janela de pop-up irá se abrir e será mostrado todos os seus projetos disponíveis quando tiver.
Siga na parte superior direita e clique em “Novo Projeto”.
2 – Em seguida dê um nome ao projeto que deseja iniciar. Você também terá a opção de colocar o domínio de onde este projeto será desenvolvido, seja sua empresa ou sem organização caso não tenha.
3 – A fim de utilizar o Dialogflow junto ao seu chatbot sem falhas, é necessário que você atrele um perfil de faturamento por onde irá disponibilizar o recurso de APIs.
No menu do Google Cloud Platform, clique em “faturamentos” e em seguida “criar conta”. Você poderá colocar sua identificação e dados bancários atrelados em sua conta de faturamento.
4 – Agora com o seu perfil de faturamento atrelado, crie sua conta de serviço. Siga pelo menu na aba “APIs e Serviços” e clique em “Credenciais”.
Clique na aba “Criar Credenciais” e selecione “Conta de Serviço”
5 – Dê um nome a sua conta de serviço o qual também servirá de ID.
Em seguida determine o papel o qual a sua conta de serviço irá exercer para o seu papel. Selecione Dialogflow > Cliente de Dialogflow API.
Após isso salve suas configurações clicando em “Continuar” e clique em “Concluir” para finalizar a abertura de sua conta de serviço.
6 – Uma vez que você possui sua conta de serviços aberta, é necessário gerar uma chave em formato JSON, que será utilizada em seu criado bot inicialmente.
Para gerar a sua chave, localize sua conta em seu dashboard e clique no sinal de editar como mostrado acima, para acessar as configurações de sua conta.
Nas configurações de sua conta, siga por Chaves > Adicionar Chave > Criar nova chave. Nas opções de chaves, escolha JSON e assim será gerado um arquivo em JSON em sua máquina.
1 – Faça login em sua conta da Sapios e crie um bot pela tela principal, indicado no sinal “+” e nomeie o seu bot como deseja.
2 – Em seguida, será necessário que você configure os canais de chat de seu bot para o funcionamento correto.
Em Canais Abertos habilite a opção Habilitar/Desabilitar Canal e salve.
Em Canais de Agente, insira o nome de usuário e senha dada pelo administrador de livechat, habilite a opção Habilitar/Desabilitar Canal e salve.
3 - Uma vez que sua conta de serviço foi gerada e adquirida a chave de acesso JSON pelo dialogflow, é hora de configurar o canal de ML (Machine Learning) ao seu bot.
Entre no site de console do DialogflowCX e selecione sua conta de serviço para iniciar.
No dashboard inicial você tem a opção de criar um novo agente, um fluxo específico do início ou utilizar templates pré-definidos para melhor atender o seu negócio em Use pre-built agents.
Criando um novo agente, selecione a localização para global (USA (Global)) e comece a editar o seu fluxo. Para saber mais sobre edição de fluxo pelo dialogflow, siga a este artigo.
4 – Uma vez que possui o seu agente criado, para atrelar o fluxo ao seu bot copie o ID de seu agente e a string disponível na chave JSON adquirida anteriormente para habilitar o canal de Machine learning em seu bot.
Uma vez com estes dois componentes, volte ao seu bot e nas opções clique em Abrir Canais de Machine Learning para abrir as configurações dos canais de Machine Learning de seu bot.
Dentro das configurações na aba Dialog flow Project ID, cole o ID do projeto copiado e em GOOGLE_APLICATION_CREDENTIALS, cole a chave JSON copiada anteriormente. Em Agent Type, selecione CX e habilite o canal no canto inferior esquerdo.
O Webhook é a ponte entre aplicativos responsável pela conexão entre duas plataformas afim de habilitarem a interação entre elas. Para habilitar o webhook entre o seu bot e o agente:
1 – Copie o link de webhook disponível nas configurações de ML e retorne ao seu agente no dialogflow.
Em seu agente, clique em Manage abaixo do logo do Dialogflow, selecione a aba Webhooks e clique em Create.
2 - Nas configurações de seu webhook, nomeie o mesmo e coloque a URL de webhook adquirida em seu bot no espaço Webhook URL.
Na área de autenticação é necessário que você crie um nome de usuário e uma senha e copie ambos. Após os passos acima, clique em salvar.
3 – Com o nome de usuário e senha criados, volte para as configurações do ML e cole ambos nos espaços remanescentes ID de autenticação para o nome de usuário e Senha de autenticação para a senha. Após completado os passos, clique em salvar.
1 – Após configurados os canais, crie uma tarefa por onde irá ocorrer a conexão com o dialogflow, nomeie de uma forma em que possa facilmente identificá-lo e em seguida crie um diálogo em que estará o fluxo.
2 – Vá para a tarefa principal e entre no diálogo que você criou. Inicie o fluxo com uma mensagem sinalizando que você irá se conectar ao dialogflow com o componente Enviar Mensagem.
Em seu designer selecione o componente Machine Learning, que ativará o dialogflow ao chatbot.
3 – Em Machine Learning, na aba escolher sistema de agente, selecione dialogflow como a ML a ser operada e clique em update. Finalize o fluxo com uma mensagem indicando que o usuário saiu do Dialogflow e finalize o diálogo com o componente Fim do Diálogo.
1 – Crie um novo diálogo dentro de sua tarefa principal (Dialogflow) nomeada como Connect to Agent e importe um handler para ele na parte direita da tela com o mesmo nome e utilizar o template de fluxo (também disponíveis na biblioteca).
Crie também uma tarefa secundária chamada Back From Agent, que será utilizada posteriormente.
2 – O nome da intenção deve ser o mesmo que encontra no handler, caso contrário ocorre falha no sistema. Na tela de Handler cole a seguinte string:
Essa é a codificação que fará a ponte entre o a conversa do agente com o usuário, em “taskName” coloque o nome de sua tarefa principal a tarefa, salve e publique a tarefa.
3 – No diálogo Connect to agent, inicie o fluxo com uma mensagem indicando que o usuário irá entrar em uma conversa com um atendente.
Em seguida selecione o componente Conectar ao Agente.
Em escolher sistema de agente, selecione sapioschat e atualize.
Selecione o componente Ir para tarefa e na tarefa selecione Back From Agent, criada anteriormente. Salve o fluxo e publique o mesmo.
4 – Na tarefa Back From Agent, inicie o fluxo com uma mensagem indicando que o usuário saiu do chat com o atendente e finalize com o componente Ir para tarefa, selecionando sua tarefa principalmente, assim direcionando o usuário para o início do fluxo.
5 – No seu agente da plataforma Dialogflow siga no menu na parte esquerda da tela e procure por Contact Agent e clique para habilitar o mesmo em seu fluxo.
6 – Clique em Edit Fulfillment, na caixa de configurações do componente, habilite a opção Use Webhook, inclua o webhook o qual o você configurou anteriormente no dialogflow e insira o nome em que você colocou no seu handler. Após isso, clique em salvar.
1 – Após os passos acima volte ao menu principal do seu bot e clique em editar.
Em Detalhes Básicos, na aba de Tarefa Inicial, coloque sua tarefa primária a que iniciará o bot e na aba On Return From Agent Execute, insira sua tarefa secundária.
Em Detalhes Avançados, selecione a opção Agente Habilitado e salve as configurações.
Reinicie o seu bot e o mesmo já estará pronto para uso com o dialogflow.
Watson é uma plataforma de Machine Learning desenvolvida pela IBM e como o Dialogflow, é configurado em um servidor Cloud da própria IBM. Você pode armazenar projeto de APIs bem como seus agentes desenvolvidos na plataforma.
Mostraremos abaixo como conectar seu bot ao IBM.
Crie um novo bot e nomeie de uma forma em que possa identificá-lo, faça o mesmo com a tarefa e o diálogo que irá utilizar.
Em seu editor de fluxo selecione o bloco Machine Learning e conecte o mesmo aonde normalmente se encontra o bloco de Enviar Mensagem o seu fluxo deve ficar como mostrado abaixo:
Nas propriedades do componente, em escolher sistema de agente selecione Watson, inclua uma mensagem de gatilho caso queira. Por fim salve o seu fluxo e publique o mesmo.
Após criar o seu fluxo recorra ao website da IBM ou digite "Watson Assistant" em sua aba de busca. Na página principal clique em comece a utilizar gratuitamente e crie uma nova conta no site da IBM.
Aqui você encontra o dashboard principal de seus assistentes Watson, você pode vir a criar mais assistente a medida que tiver novos projetos clicando em Create Assistant
Em My First Assistant clique nos três pontos no canto da aba e selecione settings.
Você será levado a uma tela com o nome de API Details a qual terá informações como:
ID do Assistente;
URL do Assistente;
Chave API;
Copie estas informações da forma como descrito abaixo (no caso da URL até .com).
De volta ao Sapios Bot, em seu bot, clique em mais opções e entre na aba abrir canais de machine learning.
Abra a aba de configurações do IBM Watson e cole as informações copiadas em seus respectivos campos como mostrado abaixo, o bot precisaria dessas informações para autenticar a conexão com o assistente.
Após isso copie a URL de seu bot, crie uma senha de autenticação para o webhook e habilite o canal na caixa de alternativa, em seguida salve suas alterações.
No website Watson, abaixo da página de API Details entre em Webhooks.
Em Pre-message Webhook habilite a conexão clicando no botão em disable, o mesmo ficará verde quando ativado.
Com as informações copiadas cole a URL e a sua senha nos campos solicitados.
Após isso volte a tela principal e clique no seu assistente.
Aqui você pode ter a liberdade de treinar seu bot com habilidades e intenções que irão ser colocados em seus diálogos. Clique em add dialog skill.
Crie um novo diálogo na aba Create Skill, caso já possua algum arquivo de diálogo em JSON, você pode incluí-lo também ou utilizar um diálogo de exemplo.
Em seu editor de fluxo você verá um campo vazio no meio da tela, em que você tem a opção de criar um intenção, procurar uma intenção no catalogo do Watson ou realizar um upload de uma intenção.
Para adicionar intenções rapidamente em seu editor clique em browse content catalog.
Aqui encontramos diversos cenários de intenções em que você adicionar ao seu editor. Escolha o diálogo que deseja adicionar e clique em add to skill.
Monte seu fluxo da forma que deseja em seu editor, para uma base mais elaborada da utilização do editor de fluxos você pode verificar tutoriais no próprio site da IBM.
Para conectar seu fluxo ao bot e usar um webhook por meio de um nó de diálogo, deve-se ativar webhooks no node e, em seguida, incluir detalhes para o retorno.
Clique na guia Dialog como mostrado acima.
Localize o node (ou intenção) de diálogo no qual deseja incluir um callout. O callout para o webhook ocorrerá sempre que esse nó for acionado durante uma conversa com um usuário.
Por exemplo, é possível que você queira enviar um callout ao webhook por meio do nó #general_greetings.
Clique para abrir a intenção de diálogo e, em seguida, clique em Customize.
Role para baixo até a seção do webhook. Configure o comutador Texto explicativo de webhooks/qualificação de ações como Ativado.
Selecione Chamar um webhook e clique em Aplicar.
Em seguida defina os parâmetros de conexão com o na parte de Key e Value da forma como mostra a imagem abaixo incluindo:
action / "watson_connect_to_agent"
session_id / "<? $system.session_id ?>"
E por fim programe a sua resposta para quando a mensagem for enviada e atrele a intenção inserida para que reconheça as palavras chave e possa dar a resposta corretamente, caso contrário a operação do bot não irá funcionar.
Em sua tarefa, crie um novo diálogo em que possa colocar o componente de agente, nomeie como connect to agent.
Em seu editor de fluxo no lugar do componente Enviar Mensagem inclua Conectar a um Agente e habilite para o canal de chat que deseja atrelar.
Volte na tela anterior e crie um handler para esta conversa nomeie como "watson_connect_to_agent" da mesma forma como inclusa como chave de parâmetro em seu assistente na plataforma Watson.
Em seu handler inclua o seguinte código:
module.exports = async (session, next,actionRequest,lib) => {
let mlActionResultBuilder=lib.MlActionResultBuilder;
mlActionResultBuilder.addTextResponse("Please wait Connecting to an agent ...");
mlActionResultBuilder.setProperty("name",'seunome');
let callTask={taskName:'watson simulator',dialogName:'connect to agent'};
return await next(true,callTask);
};
Em 'seunome', inclua seu nome e em taskName e dialogName inclua o nome da tarefa e da conversa onde se encontra o componente de conexão com agente.
Salve e publique seu handler.
Volte ao menu principal de seu bot, desative e ative o mesmo para que as alterações tenham efeito.
Clique no ícone ao lado de desativar bot para testar seu chatbot e verá o resultado de seu assistente Watson em seu bot.