SlideShare uma empresa Scribd logo
Conhecendo o Microsoft Bot
Framework
Douglas Romão
Microsoft MVP
Renato Romão
MTAC
Overview - Bot Framework
- Somente IA
- Somente texto
- Somente linguagem natural
ryanv 8:26 AM
Cancelar
Azure Bot Bot 8:26 AM
Você cancelou a operação. O que você gostaria de fazer
agora?
ryanv 8:26 AM
login
Azure Bot Bot 8:26 AM
Por favor selecione onde você deseja fazer o login?
1. Event Bots
2. QA Environment 1
De forma prática, bot é uma aplicação
que executa tarefas automáticas.
Overview - Bot Framework
Suposições
- Esperar que o usuário use o bot
- Usuários preferirem a experiência do bot ao invés de outras alternativas
(webapps, aplicativos mobile)
Priorize os fatores corretos quando desenhar seu bot
Quão “inteligente” seu bot é
- Bots inteligente não garantem que seus usuários fiquem felizes e nem a adoção de uso
- Muitos bots tem pouca processamento de linguagem natural (NLP)
Quanto de linguagem natural seu bot suporta
- Bots podem conversar muito bem
- Bots podem ter bom vocabulário
- Alguns bots não tem capacidades de conversa e ainda assim em vários casos isso é perfeitamente
plausível
Voz
- Habilitar bots para falar ou ouvir nem sempre dão boas experiências ao usuário
- Forçar os usuários a usar voz podem trazer uma experiência frustrante
- Considerações chave
- A voz é a melhor forma de atender à necessidade?
- O ambiente é ou pode ser barulhento?
- A voz transmitirá corretamente as informações para o usuário?
Ótima experiência de usuário
Considerações chave:
- O bot resolve de forma simples e com poucos passos o problema do usuário?
- O bot resolve o problema do usuário mais fácil/rápido/melhor que experiências
alternativas?
- O bot roda em diferentes dispositivos e plataformas?
- Os usuários sabem naturalmente como agir com o bot e utilizá-lo?
Overview - Bot Framework
Overview - Bot Framework
Bot Framework
Bot Framework é um serviço/SDK da
Microsoft
Bot Framework é uma das várias ofertas
da Microsoft para construer um bot
complete
Outras inclusas: LUIS, APIs de Speech,
Azure, e mais
Logic
Your bot
Bot Builder SDK
(Node.js + c#)
LUIS
Web
service
Portal
Bot Connector
Send/receive messages
Store state
Translation
Telemetry
…
Your bot
Channels
Your bot
Bot
Connector
{
“type” : “message” ,
“id” : 68YrxgtB53Y” ,
“conversationId” : “DphpaFQrDuZDKyCez4AFGcT4vy5aQDjellLGIjB8v18MFtb”,
“language” : “en” ,
“text” : “You can say  “/ order” to order!”,
“attachments” : [ ],
“from” : {
“name” : “+12065551212”,
“channelId” : “sms”,
“address” : “ +12065551212”,
“id” : “Ro52hKN287”,
“isBot” : false
},
“channelData” : { SMS data here },
…
}
Overview - Bot Framework
Overview - Bot Framework
Overview - Bot Framework
Bot Connector service
- Serviço responsável pela troca de mensagens no canais de comunicação do bot,
essa configuração é feita no Azure;
- Utiliza REST/Json em um ambiente https
Client libraries
- O Bot framework providencia bibliotecas de cliente (Bot Builder SDK) que podem ser
utilizadas para programar tanto em C# or Node.js. O SDK suporta:
1. Diálogos que encapsulam lógicas
2. Questões de SIM/NÃO
3. Poderosos frameworks de IA como o LUIS e mais
Channel
- O canal é a comunicação entre o Bot Framework e os apps de comunicação, como:
• Skype
• Slack
• Facebook Messenger
• Office 365 mail
• Microsoft Teams
• Cortana
• Others
- Configuramos os canais no Portal do Azure
Activity
- O serviço do Bot Connector troca informações entre o bot e o canal (usuário) passando um objecto do
tipo Activity
Activity type Description
message Representa a comunicação entre o bot e o usuário
conversationUpdate Indica que o bot foi adicionado a uma conversa, outro membros foram
adicionados ou removidos da conversa, ou os metadados da conversa mudaram
contactRelationUpdate Indica que o bot foi adicionado ou removido da lista de contatos do usuário
typing Indica que o bot está compilando uma resposta
ping Representa uma tentative de determiner se o endpoint do bot está acessível
deleteUserData Indica para o bot que o usuário solicitou que o bot delete toda informação de
usuário que possa estar armazenada
endOfConversation Indica o fim da conversa
State Data
O “estágio” ou status da informação pode servir para vários propósitos:
- Determinar onde a conversa anterior foi interrompida
- Cumprimentar um usuário
- Salvando as preferências do usuário você pode customizar o modo como seu bot irá
responder na próxima conversa
Bot State Service
- Possibilita ao seu bot armazenar e recuperar o estágio/status do seu bot e recuperar
informações relacionadas ao usuário, conversa ou context específico
- Utiliza REST e Json
- Habilita autenticação e segurança
Authentication
Tanto o serviço de Bot Connector como o serviço de Bot State habilitam a autenticação
utilizando tokens JWT Bearer (Json)
JWT Bearer tokens
JSON Web Token (JWT) é um modelo open source para definição de segurança e transmissão
de dados entre partes utilizando decodificação e fazendo parse de objetos JSON
A informação pode ser verificada e confiável por que é assinada digitalmente
https://jwt.io/
Utilizando HTTPS e Bot Framework Authentication
Para garantir que o endpoint do seu bot será acessado apenas pelo conector do Bot
Framework, você deve configurar o endpoint para que utilize apenas HTTPS registrando seu
bot
Configurando a autenticação
Uma vez que seu bot foi registrado, você deve especificar o App Id e senha no web.config do
seu bot:
<appSettings>
<add key="MicrosoftAppId" value="_appIdValue_" />
<add key="MicrosoftAppPassword" value="_passwordValue_" />
</appSettings>
A autenticação utilizando o Bot Builder SDK for .NET
Para autenticar seu bot utilizando as informações que você configurou no web.config,
especifique o atributo [BotAuthentication] sem parâmetros
Overview - Bot Framework
Overview - Bot Framework
Overview - Bot Framework
Overview - Bot Framework
• Título
• Subtítulo
• Botão de ação
• Imagens
Card type Description
AdaptiveCard Combinação de texto, fala, imagens, botões e campos de input de dados
AnimationCard Reproduz GIFs e videos curtos
AudioCard Pode tocar áudios
HeroCard Tipicamente contém uma única imagem grande, um ou mais botões e texto
ThumbnailCard Tipicamente contém uma imagem miniature
ReceiptCard Tipicamente tem dados sumarizados
SignInCard Tipicamente contém textos e botões para login
VideoCard Card para rodar videos
Overview - Bot Framework
Overview - Bot Framework
Overview - Bot Framework
- Interceptar mensagens;
- Enviar mensagens pró-ativas;
- Criar handlers globais para ações próprias; (cancelar, abortar)
Obrigado!
Douglas Romão
@douglasromao
douglasromao.com
Bit.ly/youtubedouglas
Renato Romão
Bit.ly/renatoromao

Mais conteúdo relacionado

PPTX
Microsoft Bot Framework + Cognitive Services
PPTX
Microsoft Bot Framework
PDF
TDC2017 | Florianopolis - Trilha DevOps How we figured out we had a SRE team ...
PDF
Microsoft Bot Framework
PDF
TDC2017 | Florianopolis - Trilha DevOps How we figured out we had a SRE team ...
PPTX
Bots (automatizando tarefas) um funcionário que não reclama (Python Brasil 2...
PPTX
Palestra Introdução a Bots com Node.Js - MVP National Conference 2018 by Glau...
PDF
Construindo Chatbots em Node.js
Microsoft Bot Framework + Cognitive Services
Microsoft Bot Framework
TDC2017 | Florianopolis - Trilha DevOps How we figured out we had a SRE team ...
Microsoft Bot Framework
TDC2017 | Florianopolis - Trilha DevOps How we figured out we had a SRE team ...
Bots (automatizando tarefas) um funcionário que não reclama (Python Brasil 2...
Palestra Introdução a Bots com Node.Js - MVP National Conference 2018 by Glau...
Construindo Chatbots em Node.js

Semelhante a Overview - Bot Framework (18)

PDF
O que você precisa saber sobre chatbots
PPTX
BOT: Conversando com o seu sistema
PPTX
Desmistificando o DialogFlow
PPTX
Controlando dispositivos IoT com chatbots inteligentes (Coders in Rio)
PPTX
Open Source Bootcamp Mogi das Cruzes
PDF
Desde 2014, a plataforma de conteúdo Mobile Time e a empresa de pesquisas Opi...
PDF
Wrkbot - Da Persona ao Chatbot
PDF
Chatbot apresentation v4
PPTX
Desenhando uma Arquitetura Corporativa para Chatbots
PDF
Desenvolvendo Bots com Inteligência Artificial para negócios em Ruby
PPTX
O que é teste e qualidade em Chatbots?
PPTX
Conexao kinghost - Vendas inteligentes com intelibots
PDF
Facebook bots uma nova arma no relacionamento e atendimento ao consumidor
PDF
Fórum 2016 - O uso de inteligência artificial e bots no atendimento do e-comm...
PDF
TDC2017SP | Trilha Node.JS | Clarice: Construindo chatbots com Microsoft Bot ...
PDF
TDC2017 | São Paulo - Trilha NODEJS How we figured out we had a SRE team at -...
PDF
Are you talking to me
PDF
#4 Oracle Cloud Meetup - Chatbots
 
O que você precisa saber sobre chatbots
BOT: Conversando com o seu sistema
Desmistificando o DialogFlow
Controlando dispositivos IoT com chatbots inteligentes (Coders in Rio)
Open Source Bootcamp Mogi das Cruzes
Desde 2014, a plataforma de conteúdo Mobile Time e a empresa de pesquisas Opi...
Wrkbot - Da Persona ao Chatbot
Chatbot apresentation v4
Desenhando uma Arquitetura Corporativa para Chatbots
Desenvolvendo Bots com Inteligência Artificial para negócios em Ruby
O que é teste e qualidade em Chatbots?
Conexao kinghost - Vendas inteligentes com intelibots
Facebook bots uma nova arma no relacionamento e atendimento ao consumidor
Fórum 2016 - O uso de inteligência artificial e bots no atendimento do e-comm...
TDC2017SP | Trilha Node.JS | Clarice: Construindo chatbots com Microsoft Bot ...
TDC2017 | São Paulo - Trilha NODEJS How we figured out we had a SRE team at -...
Are you talking to me
#4 Oracle Cloud Meetup - Chatbots
 
Anúncio

Último (19)

PDF
Apple Pippin Uma breve introdução. - David Glotz
PDF
Gestão de transportes básica no SAP S/4HANA, S4611 Col20
PDF
Custos e faturamento no SAP S/4HANA Transportation Management, S4TM3 Col26
PDF
Aula04-Academia Heri- Tecnologia Geral 2025
PDF
Otimizador de planejamento e execução no SAP Transportation Management, TM120...
PPTX
BANCO DE DADOS - AULAS INICIAIS-sgbd.pptx
PPTX
Gestao-de-Bugs-em-Software-Introducao.pptxxxxxxxx
PDF
Mergulho profundo técnico para gestão de transportes no SAP S/4HANA, S4TM6 Col14
PPTX
Aula 18 - Manipulacao De Arquivos python
PDF
20250805_ServiceNow e a Arquitetura Orientada a Serviços (SOA) A Base para Ap...
PPTX
Como-se-implementa-um-softwareeeeeeeeeeeeeeeeeeeeeeeee.pptx
PDF
Processos na gestão de transportes, TM100 Col18
PDF
Fundamentos de gerenciamento de ordens e planejamento no SAP TransportationMa...
PPTX
Informática Aplicada Informática Aplicada Plano de Ensino - estudo de caso NR...
PDF
Fullfilment AI - Forum ecommerce 2025 // Distrito e Total Express
PDF
Custos e liquidação no SAP Transportation Management, TM130 Col18
PDF
COBITxITIL-Entenda as diferença em uso governança TI
PPTX
Aula16ManipulaçãoDadosssssssssssssssssssssssssssss
PPTX
Programação - Linguagem C - Variáveis, Palavras Reservadas, tipos de dados, c...
Apple Pippin Uma breve introdução. - David Glotz
Gestão de transportes básica no SAP S/4HANA, S4611 Col20
Custos e faturamento no SAP S/4HANA Transportation Management, S4TM3 Col26
Aula04-Academia Heri- Tecnologia Geral 2025
Otimizador de planejamento e execução no SAP Transportation Management, TM120...
BANCO DE DADOS - AULAS INICIAIS-sgbd.pptx
Gestao-de-Bugs-em-Software-Introducao.pptxxxxxxxx
Mergulho profundo técnico para gestão de transportes no SAP S/4HANA, S4TM6 Col14
Aula 18 - Manipulacao De Arquivos python
20250805_ServiceNow e a Arquitetura Orientada a Serviços (SOA) A Base para Ap...
Como-se-implementa-um-softwareeeeeeeeeeeeeeeeeeeeeeeee.pptx
Processos na gestão de transportes, TM100 Col18
Fundamentos de gerenciamento de ordens e planejamento no SAP TransportationMa...
Informática Aplicada Informática Aplicada Plano de Ensino - estudo de caso NR...
Fullfilment AI - Forum ecommerce 2025 // Distrito e Total Express
Custos e liquidação no SAP Transportation Management, TM130 Col18
COBITxITIL-Entenda as diferença em uso governança TI
Aula16ManipulaçãoDadosssssssssssssssssssssssssssss
Programação - Linguagem C - Variáveis, Palavras Reservadas, tipos de dados, c...
Anúncio

Overview - Bot Framework

  • 1. Conhecendo o Microsoft Bot Framework Douglas Romão Microsoft MVP Renato Romão MTAC
  • 3. - Somente IA - Somente texto - Somente linguagem natural ryanv 8:26 AM Cancelar Azure Bot Bot 8:26 AM Você cancelou a operação. O que você gostaria de fazer agora? ryanv 8:26 AM login Azure Bot Bot 8:26 AM Por favor selecione onde você deseja fazer o login? 1. Event Bots 2. QA Environment 1
  • 4. De forma prática, bot é uma aplicação que executa tarefas automáticas.
  • 6. Suposições - Esperar que o usuário use o bot - Usuários preferirem a experiência do bot ao invés de outras alternativas (webapps, aplicativos mobile) Priorize os fatores corretos quando desenhar seu bot
  • 7. Quão “inteligente” seu bot é - Bots inteligente não garantem que seus usuários fiquem felizes e nem a adoção de uso - Muitos bots tem pouca processamento de linguagem natural (NLP) Quanto de linguagem natural seu bot suporta - Bots podem conversar muito bem - Bots podem ter bom vocabulário - Alguns bots não tem capacidades de conversa e ainda assim em vários casos isso é perfeitamente plausível
  • 8. Voz - Habilitar bots para falar ou ouvir nem sempre dão boas experiências ao usuário - Forçar os usuários a usar voz podem trazer uma experiência frustrante - Considerações chave - A voz é a melhor forma de atender à necessidade? - O ambiente é ou pode ser barulhento? - A voz transmitirá corretamente as informações para o usuário?
  • 9. Ótima experiência de usuário Considerações chave: - O bot resolve de forma simples e com poucos passos o problema do usuário? - O bot resolve o problema do usuário mais fácil/rápido/melhor que experiências alternativas? - O bot roda em diferentes dispositivos e plataformas? - Os usuários sabem naturalmente como agir com o bot e utilizá-lo?
  • 12. Bot Framework Bot Framework é um serviço/SDK da Microsoft Bot Framework é uma das várias ofertas da Microsoft para construer um bot complete Outras inclusas: LUIS, APIs de Speech, Azure, e mais
  • 13. Logic Your bot Bot Builder SDK (Node.js + c#) LUIS Web service
  • 14. Portal Bot Connector Send/receive messages Store state Translation Telemetry … Your bot Channels
  • 15. Your bot Bot Connector { “type” : “message” , “id” : 68YrxgtB53Y” , “conversationId” : “DphpaFQrDuZDKyCez4AFGcT4vy5aQDjellLGIjB8v18MFtb”, “language” : “en” , “text” : “You can say “/ order” to order!”, “attachments” : [ ], “from” : { “name” : “+12065551212”, “channelId” : “sms”, “address” : “ +12065551212”, “id” : “Ro52hKN287”, “isBot” : false }, “channelData” : { SMS data here }, … }
  • 19. Bot Connector service - Serviço responsável pela troca de mensagens no canais de comunicação do bot, essa configuração é feita no Azure; - Utiliza REST/Json em um ambiente https Client libraries - O Bot framework providencia bibliotecas de cliente (Bot Builder SDK) que podem ser utilizadas para programar tanto em C# or Node.js. O SDK suporta: 1. Diálogos que encapsulam lógicas 2. Questões de SIM/NÃO 3. Poderosos frameworks de IA como o LUIS e mais
  • 20. Channel - O canal é a comunicação entre o Bot Framework e os apps de comunicação, como: • Skype • Slack • Facebook Messenger • Office 365 mail • Microsoft Teams • Cortana • Others - Configuramos os canais no Portal do Azure
  • 21. Activity - O serviço do Bot Connector troca informações entre o bot e o canal (usuário) passando um objecto do tipo Activity Activity type Description message Representa a comunicação entre o bot e o usuário conversationUpdate Indica que o bot foi adicionado a uma conversa, outro membros foram adicionados ou removidos da conversa, ou os metadados da conversa mudaram contactRelationUpdate Indica que o bot foi adicionado ou removido da lista de contatos do usuário typing Indica que o bot está compilando uma resposta ping Representa uma tentative de determiner se o endpoint do bot está acessível deleteUserData Indica para o bot que o usuário solicitou que o bot delete toda informação de usuário que possa estar armazenada endOfConversation Indica o fim da conversa
  • 22. State Data O “estágio” ou status da informação pode servir para vários propósitos: - Determinar onde a conversa anterior foi interrompida - Cumprimentar um usuário - Salvando as preferências do usuário você pode customizar o modo como seu bot irá responder na próxima conversa Bot State Service - Possibilita ao seu bot armazenar e recuperar o estágio/status do seu bot e recuperar informações relacionadas ao usuário, conversa ou context específico - Utiliza REST e Json - Habilita autenticação e segurança
  • 23. Authentication Tanto o serviço de Bot Connector como o serviço de Bot State habilitam a autenticação utilizando tokens JWT Bearer (Json) JWT Bearer tokens JSON Web Token (JWT) é um modelo open source para definição de segurança e transmissão de dados entre partes utilizando decodificação e fazendo parse de objetos JSON A informação pode ser verificada e confiável por que é assinada digitalmente
  • 25. Utilizando HTTPS e Bot Framework Authentication Para garantir que o endpoint do seu bot será acessado apenas pelo conector do Bot Framework, você deve configurar o endpoint para que utilize apenas HTTPS registrando seu bot Configurando a autenticação Uma vez que seu bot foi registrado, você deve especificar o App Id e senha no web.config do seu bot: <appSettings> <add key="MicrosoftAppId" value="_appIdValue_" /> <add key="MicrosoftAppPassword" value="_passwordValue_" /> </appSettings>
  • 26. A autenticação utilizando o Bot Builder SDK for .NET Para autenticar seu bot utilizando as informações que você configurou no web.config, especifique o atributo [BotAuthentication] sem parâmetros
  • 31. • Título • Subtítulo • Botão de ação • Imagens
  • 32. Card type Description AdaptiveCard Combinação de texto, fala, imagens, botões e campos de input de dados AnimationCard Reproduz GIFs e videos curtos AudioCard Pode tocar áudios HeroCard Tipicamente contém uma única imagem grande, um ou mais botões e texto ThumbnailCard Tipicamente contém uma imagem miniature ReceiptCard Tipicamente tem dados sumarizados SignInCard Tipicamente contém textos e botões para login VideoCard Card para rodar videos
  • 36. - Interceptar mensagens; - Enviar mensagens pró-ativas; - Criar handlers globais para ações próprias; (cancelar, abortar)