Introdução


Nessa documentação você entenderá como configurar o copilot com o PALM no Fortics SZ.chat.

O que é o PALM?

Segundo o Bard o PALM, ou Pathways Language Model, é um tipo de inteligência artificial que pode entender e gerar texto. Ele é treinado em um enorme conjunto de dados de texto e código, o que significa que pode aprender sobre o mundo e como usá-lo para gerar texto que seja relevante e informativo.

O Bard é um modelo de linguagem que usa o PALM para gerar texto, escrever diferentes tipos de conteúdo criativo e responder a perguntas de forma informativa.

Aqui está uma analogia que pode ajudar a entender a relação entre o PALM e o Bard:

Imagine que o PALM é uma biblioteca enorme, cheia de livros e artigos sobre todos os tipos de assuntos. O Bard é um bibliotecário que sabe como encontrar informações nessa biblioteca e usá-las para responder às suas perguntas.

Requisitos necessários para integração com o SZ.chat 

Siga as instruções abaixo para obter um JSON que será usado na configuração do recurso. 

1. Acesse o Google Cloud Platform, se logue e clique para acessar o console;

2. Localize Vertex AI e ative todas as APIs recomentadas;


3. Navegue até IAM e adminstrador > contas de serviço;

4. Clique em criar conta de serviço;


5. Preencha o nome da conta e a descrição conforme a sua preferência, ao concluir clique em continuar; 


6. Nessa segunda etapa selecione a opção agente de serviço da Vertex AI e clique para concluir o processo;




7 - Localize a conta criada e clique em "gerenciar chaves";


8 - Em "chaves" navegue até "adicionar chave" e clique em "criar nova chave";

9 - Selecione a opção JSON e clique para criar. Ao criar, será feito o download da chave em json. Guarde-a de forma segura para que o acesso aos serviços sejam feitos apenas por você. 


Concluímos as configurações no Google Cloud Platform (GCP). Agora, vamos prosseguir para a plataforma SZ.chat.



10 - Em integração > REST clique para realizar um novo cadastro; 

 

11 - O campo nome deve ser preenchido conforme a sua preferência. Em categoria é necessário selecionar a opção copilot e escolher um dos itens do Google Palm.

A diferença entre os itens é que em um você já vai passar o contexto e no outro você poderá passar o contexto posteriormente. 


Com contexto - indicado para uso como copiloto da tela do agente.

 

Sem contexto - Indicado para o fluxo, pois podemos passar o contexto dentro do fluxo, permitindo que o mesmo REST seja utilizado em processos diferentes.



12 - Em método de autenticação selecione "conta de serviço".



13 - Em conta de serviço adicione o JSON obtido no passo 9.



14 - Caso tenha escolhido o item com contexto, você deverá navegar até o final da configuração para selecionar o contexto que será utilizado.




Configuração de um contexto


É por meio do contexto que você irá passar as instruções e informações necessárias para realização das ações desejadas. Darei 2 exemplos para facilitar a compreensão.


  • Exemplo 1


Esse é um exemplo de contexto caso você deseje que a IA interprete a mensagem do cliente e informe com qual setor ele deve falar para solucionar a sua dificuldade. 


Identifique com qual setor da empresa o contato precisa falar para resolver o seu problema. Retorne apenas o nome do setor, suporte, financeiro ou comercial.


  • Exemplo 2 


Caso objetivo seja utilizar a IA para responder perguntas frequentes, você deve fornecer as informações da sua empresa dentro do contexto e solicitar que a IA só responda a perguntas que estiverem relacionadas ao contexto, caso contrário a IA responderá perguntas sobre qual assunto. 


A Fortics é uma empresa brasileira que desenvolve plataformas de atendimento e tem os produtos SZ.chat e Fortics PBX como os principais produtos. Conta hoje com mais de 2500 clientes em todo o território nacional. A Fortics tem 130 colaboradores espalhados pelo Brasil e pelo mundo. Para saber mais sobre nossos produtos, nos acione através do WhatsApp https://wa.me/558003678427


Só responda questionamentos relacionadas ao contexto.


Configuração do contexto

1 - Para configurar um contexto você deve navegar até configuração > contexto e clique para adicionar um novo contexto;


2 - Informe o nome desejado, ele servirá apenas para identificação do contexto dentro da plataforma. Em conteúdo adicione o contexto necessário para realizar a integração. 




Fluxo de atendimento

A configuração e funcionamento do recurso é similar a integração com o GPT. 

Como também é possível definir o contexto dentro da configuração do fluxo, é interessante que seja ustilizado um REST sem contexto, pois dessa forma o mesmo REST poderá ser utilizado de diversas formas em um mesmo fluxo. Exemplo, em determinada etapa do fluxo usar a integração para identificar o setor que será capaz de solucionar a necessidade do cliente. E em outra etapa utilizar a integração para responder perguntas frequentes. 

A estrutura do fluxo deve seguir esse padrão.

  • Contexto: irá passar as instruções e conteúdo necessário para solucionar a necessidade do cliente.
  • Entrada de dados: para capturar a mensagem do cliente
  • Script: irá unir a mensagem do cliente com o contexto os adequando ao formato necessário para integração
  • RPA: irá executar a integração configurada em integração > REST.


O que será feito com o retorno da integração dependerá do seu objetivo. Os componentes seguintes seguirão conforme a sua preferência. 

Vejamos a seguir o detalhamento da configuração de cada componente citado. 

Contexto


Selecione o contexto desejado. Nesse componente irão aparecer os contextos localizados em configuração > contexto.

 


Entrada de dados


Configure o componente com a variável desejada, essa mesma variável será utilizada no próximo componente. 



Script


Para conseguir unir o contexto e a mensagens do cliente, é necessário somar o conteúdo da variável utilizada na entrada de dados com a variável do contexto. O retorno deverá ser adicionada na variável PROMPT.



() => {
return "Context: " + context + "\nP:" + prompt + "\nP:";
};


RPA

Adicione no componente RPA um REST sem contexto visto que estamos passando o contexto dentro do fluxo. 


O retorno pode ser em JSON ou variável, conforme a sua preferência. Nesse exemplo mostraremos o retorno em JSON. Nesse caso a resposta a ser dada para o cliente ficará armazenada na variável CHOICES, mas o conteúdo ainda precisa ser tratada para que fica no formado ideal para ser enviada para o cliente. 




{
"metadata": "{{METADATA}}",
"predictions": [
{
"candidates": "{{CHOICES}}"
}
]
}


Mensagem


Para que a mensagem fique em um formato compreensível para o cliente, você pode tratar o conteúdo da variável CHOICES com o mustache. Vou colocar um exemplo a seguir, mas o formato do mustache irá mudar conforme a sua necessidade. Clique aqui para acessar a documentação sobre mustache.