Ir para o conteúdo

Roteiro de vídeos instrucionais sobre o Serprobots

A ordem do conteúdo não precisa ser necessariamente essa.

A idéia é os vídeos serem curtos (no máximo 5 minutos cada, dentro do possível menos) e passarem o recado de que as coisas podem ser feitas, mostrando um exemplo sempre funcionando. Não aprofundar em detalhes ou explicar muito conceitos avançados, mas tentar mencionar os recursos e opções "ocultos" e fazer gancho para a documentação. Talvez deixar uma frase já no gatilho: "você pode saber mais sobre esse recurso na documentação, conforme links na descrição desse vídeo".

Apresentação da Plataforma

  • Criando seu primeiro chatbot: mostrar um chatbot sendo criado desde a tela inicial, aceitando a configuração padrão e já ficando disponível na janela de teste.

  • Editando um chatbot criado: A idéia é ver o uso rotineiro básico da plataforma, que seria nessas 3 telas (configurações, motores e canal web) sem focar em nenhum problema específico de modelagem conversacional ou tópico avançado. Acessar um chatbot já criado, mostrar onde estão as configurações gerais (alterar algumas coisas nelas, tipo as boas vindas e o número de repetições, não aprofundar em todas). Acessar a tela de motores e só explicar que é lá que o diálogo e a tarefa resolvida pelo chatbot vai ser projetada (cadastrar um "oi" no rive ou FAQ, não aprofundar). Entrar na tela de canais, explicar que o canal web é padrão e os demais são integrações com outras tecnologias, e customizar uma cor no canal web. (não aprofundar). Ao fim, testar e ver os resultados das coisas customizadas na conversa;

  • Publicando e versionando um chatbot: explicar o ritual de gerar o chatbot final pro público, como é feita a inclusão do trigger num portal; explicar brevemente que a publicação tira uma foto das configurações; Ao final comentar que é gerada uma versão automática que pode ser restaurada. Mencionar que podem ser criadas versões manuais a qualquer momento (não aprofundar e fazer gancho para DOC).

  • Gerenciando as equipes: explicar que os usuários podem se organizar em equipes e trabalhar num mesmo chatbot em conjunto e que existem papéis diferentes (não aprofundar, fazer gancho pra DOC). Explicar rapidamente que para um usuário acessar a plataforma ele precisa fazer parte de uma conta, só depois conseguirá ser adicionado a um chatbot da conta. Orientar que gestor da conta ou responsável técnico no Serpro deve ser procurado para incluir novos usuários (o nome do responsável aparece na HOME).

Motores

  • Exemplo de uso do Motor Perguntas & Respostas: fazer uso real do motor FAQ criando perguntas e respostas, mostrando a ambiguidade ocorrendo, explicando como ele funciona. Mostrar a conversa ao final. (pode usar o exemplo do workshop "quem descobriu o Brasil", etc.)

    • Cadastrar perguntas, com variações. Incluir texto e imagem nas respostas:
      • Quem descobriu o Brasil? (R: Cabral)
      • Quando o Brasil foi descoberto? (R: 1500)
      • Quem descobriu as Américas? (R: Colombo)
    • Testar mecanismo de ambiguidade:
      • Quem? (não responde)
      • Quem descobriu? (oferece duas opções...)
    • Explicar que é feita uma busca nas perguntas cadastradas e que pode funcionar bem para determinados casos, ou pode se confundir em outros, é importante sempre um bom teste.
  • Exemplo de uso do motor Rivescrpt: não é uma aula de Rive. Explicar que usa sintaxe, mostrar exemplos básicos. Mencionar que é útil para criar chatbots de atendimento com opções fixas e que permite chamar integrações e lidar com variáveis e condições. Mostrar um código rivescript pronto maior que faz atendimento coletando informações, faz condições e usa tópicos pra exemplificar potencial do motor. Fazer um gancho para DOC do Serprobots e para alguma DOC ou referência do Rive.

Regra básica com variações:

+ (oi|olá|bom dia|boa tarde|boa noite|opa|ei|oiê) 
- Opa, tudo bom? 
- Oiê, beleza? 
- Olá! Tudo jóia? 

+ [quero] marcar [uma] consulta
- Certo! Você quer marcar uma consulta.

Substituições:

! sub cê = você 
! sub tá = está 
! sub bão = bom 

+ você está bom? 
- sim, estou! 

Coletar informações:

+ meu nome é * 
- oi <star>
  • Configuração do motor Watson: configurar credenciais e explicar que isso vai conectar o chatbot com uma Skill (projeto de conversa) na IBM Cloud, e que é um parceiro do Serpro e que cada chatbot que precisar de um motor Watson pode pedir essa credencial pro Responsável Técnido da conta.

  • Exemplo de uso do motor Watson configurado: mostrar criação de intenção, entidade e diálogo. Não é uma aula de Watson, fazer link para alguma DOC se possível. Mostrar a conversa ao final.

    • Cadastrar intenção "o que é o covid?" e diálogo correspondente com a resposta. Testar.
    • Cadastrar a entidade @covid com um valor único contend os sinônimos covid, corona, coronavírus, sars-cov-2. Usar a entidade @covid para melhorar a cobertura da intenção. Testar.
    • Cadastrar a entidade @sintoma com os valores "febre", "tosse", e "falta_de_ar" (e seus respectivos sinônimos).
    • Criar um diálogo cuja condição é a presença de @sintoma, falando para "ficar em casa"
    • Criar um diálogo cuja condição é a presença de @sintoma com valor "falta_de_ar" (usar editor avançada com o valor @sintomas:falta_de_ar) e fala para ir numa emergência.
  • Exemplo de uso do motor IA Generativa: criar base de conhecimento com PDF de exemplo. Criar motor (Não aprofundar nas configurações e fazer gancho para DOC). Enquanto publica/ingere, explicar o conceito de RAG rapidamente e suas limitações. Mostrar conversa ao final respondendo perguntas de exemplo.

  • Combinando múltiplos motores: explicar a lógica sequencial dos motores e que pode ser feita uma reordenação, etc. Mostrar um exemplo RIVE > FAQ > IA Gen, explicando que o Rivescript cuida de um fluxo de atendimento, o FAQ responde perguntas de forma controlada e o que sobrar tenta ser respondido pela IA Gen.

  • Enriquecendo suas respostas com comandos do Serprobots: explicar que dá pra usar sintaxes de comandos em respostas de texto em qualquer motor/configuração (#image, #options, #file). Não precisa aprofundar em todas, só mostrar um exemplo de cada num Rivescript por exemplo. Fazer gancho para a DOC para ver mais. Pode aproveitar e mencionar também que dá para usar HTML básico para formatar as respostas dos motores.

    • Doc: https://serprobots.estaleiro.serpro.gov.br/docs/documentacao/palavraschave/
    • No Rivescript:
+ mostrar opções
- #options|{"label":"Sim"},{"label":"Não"}|Deseja voltar ao menu principal?

+ mostrar imagem
- #image|https://serprobots.estaleiro.serpro.gov.br/assets/integracoes.png 

+ mostrar arquivo
- #file|public|https://www.mds.gov.br/webarquivos/cidadania/marca_gov/Manual.pdf

Painel de Acompanhamento

  • Acompanhando o uso do chatbot no Painel Analítico: mostrar o painel de acompanhamento, mostrar as visualizações rapidamente sem muito aprofundamento; explicar que é um painel Kibana e que por isso dá para filtrar de diversas formas. Mostrar o filtro de tempo; Explicar o "drill-down" que permite clicar em alguma coisa e filtrar por ela (ex: filtrar pelo motor), e como limpar esse filtro;

  • Detalhando uma conversa específica no Painel Analítico: mostrar como filtrar o painel por um determinado "conversationID" para ver todas as mensagens de uma determinada conversa (ex: filtrar uma conversa que resultou numa avaliação negativa). Mostrar que no painel de "log" tem a pergunta e a resposta. Mostrar como limpar o filtro ao final.

Chamar Integração

  • Chamando uma integração que gera Texto no Rivescript: mostrar uma integração que retorna text/plain sendo chamada no Rivescript e entregando o texto retornado como resposta.

  • Chamando uma integração que gera JSON no Rivescript: mostrar uma integração que retorna JSON sendo chamada no Rivescript e usando campos desse JSON para montar uma resposta.

  • Chamando uma integração no Watson: chamar ConsultaCEP no Watson e mostrar que no Watson há mais liberdade para montar e manipular o objeto enviado

  • Chamando uma integração que gera Arquivo no Rivescript: mostrar uma integração que recebe parâmetros e gera um arquivo para download, mostrar que esse será exibido na conversa para Download diretamente. Mencionar ao final que se forem necessários múltiplos arquivos isso pode ser feito através de uma integração que gera texto bastando ela incluir no texto vários comandos #file.

    • DOC 1: https://serprobots.estaleiro.serpro.gov.br/docs/tutoriais/rivescript/arquivos/
    • DOC 2: https://serprobots.estaleiro.serpro.gov.br/docs/tutoriais/avancado5/
  • Configurando uma integração que tenha uma URL de teste e outra URL de produção: mostrar o uso de variáveis de ambiente para configurar uma integração que tenha uma URL de desenvolvimento/teste/staging e outra URL final para a produção.

Integração com Plataforma Whatsapp do SERPRO

  • Configurando o canal Whatsapp: mostrar a configuração do canal whatsapp e integração com Plataforma Whatsapp, mencionar que tem diferenças entre o canal Web e o Whatsapp, que é preciso fazer testes.

  • Configurando um telefone Whatsapp para os testes e outro para o público: Mencionar que pode ser interessante ter 1 número de whatsapp para testes e outro para o público final, que a plataforma permite cadastrar os 2 números através de variáveis de ambiente, mostrar um exemplo.

  • Enviando mensagens especiais do Canal Whatsapp: demonstrar a utilização da sintaxe #whatsapp. Mostrar 1 exemplo no FAQ (localização?). Falar que é possível fazer no Rive escrevendo a sintaxe na mão. Mencionar outros tipos de mensagem sem aprofundar e fazer gancho com a DOC da Paltaforma Whatsapp e com a DOC do Serprobots.

  • Fazendo o Whatsapp responder diferente do canal Web: fazer o uso da variável sb_channel em uma condição no Rive. Mencionar também a variável sb_whatsapp_from_number para saber o número de telefone do usuário. Explicar que se o chatbot ficar muito diferente Web do Whataspp, pode ser mais fácil ter 2 projetos de chatbots, para evitar ficar criando essas exceções.

Outros

  • Recebendo arquivos do Usuário: habilitar o envio de arquivo pelo usuário no canal web; mostrar um exemplo de Rivescript que responde quando um arquivo é enviado (ex: pedir um documento); Explicar que o arquivo fica armazenado por 24 horas identificado pelo chatbot e pela conversa e que pode ser acessado externamente, sendo o tratamento mais comum a chamada de uma integração que irá fazer uso dos arquivos. Mostrar exemplo funcionando.

  • Sessão autenticada: ...

  • Testes automatizados: ...