O que é o SDK do Bot Framework?

APLICA-SE A: SDK v4

O Microsoft Bot Framework e o Azure AI Bot Service são uma coleção de bibliotecas, ferramentas e serviços que permitem criar, testar, implantar e gerenciar bots inteligentes. O Bot Framework inclui um SDK modular e extensível para criar bots e conectar-se a serviços de IA. Com essa framework, os desenvolvedores podem criar bots que usam fala, entendem linguagem natural, respondem perguntas e muito mais.

Dica

Para obter uma lista de produtos e serviços da Microsoft para criar bots, a quem eles dão suporte e uma breve descrição de cada um, confira Escolher a solução de chatbot certa para seu caso de uso.

O que é um bot?

Os bots fornecem uma experiência na qual parece que estamos lidando com uma pessoa ou um robô inteligente, e não com uma máquina. Você pode usar bots para deslocar tarefas simples e repetitivas, como fazer uma reserva de jantar ou coletar informações de perfil para sistemas automatizados que podem não exigir mais intervenção humana direta. Os usuários conversam com um bot usando texto, cartões interativos e fala. Uma interação de bot pode ser uma resposta rápida, ou uma conversa envolvente que fornece acesso aos serviços de forma inteligente.

Uma maneira de pensar em um bot é como um aplicativo web que tem uma interface conversacional. Seus usuários se conectam ao bot por meio de um canal, como Facebook, Slack, Microsoft Teams ou um aplicativo personalizado.

  • Dependendo de como o bot está configurado e como ele é registrado no canal, as interações podem ser em texto ou fala e podem incluir imagens e vídeo.
  • O bot processa a entrada do usuário para interpretar o que o usuário pediu ou disse.
  • O bot avalia a entrada e executa tarefas relevantes, como solicitar informações adicionais ao usuário ou acessar serviços em nome do usuário.
  • O bot responde ao usuário para que ele saiba o que o bot está fazendo ou fez.

A remote bot interacts with a user on a device via text, speech, images, or video.

Os bots geralmente são implementados como um aplicativo Web, hospedado no Azure e usando APIs para enviar e receber mensagens. O que um bot oferece varia muito dependendo do tipo de bot e de sua finalidade. Um bot pode receber mensagens e ecoá-las de volta para o usuário, com pouco código envolvido. Um bot mais complexo pode contar com várias ferramentas e serviços para oferecer experiências mais ricas em uma ampla variedade de plataformas.

Os bots podem fazer as mesmas coisas que outros tipos de software podem fazer: ler e gravar em arquivos, usar bancos de dados e APIs e realizar tarefas computacionais normais. O que torna os bots únicos é o uso de mecanismos usados em comunicação entre seres humanos.

O serviço Azure AI Bot e o Bot Framework incluem:

  • SDKs do Bot Framework para desenvolver bots em C#, JavaScript, Python ou Java. (O SDK Java foi desativado com o suporte final de longo prazo terminando em novembro de 2023.)
  • Ferramentas de CLI para ajudar no desenvolvimento de bots de ponta a ponta.
  • Bot Connector Service, que retransmite mensagens e eventos entre bots e canais.
  • Recursos do Azure para gerenciamento e configuração de bots.

Além disso, os bots podem usar outros serviços do Azure, como:

  • Serviços de IA do Azure para criar aplicativos inteligentes
  • Armazenamento do Azure para a solução de armazenamento em nuvem

Como criar um bot

O Serviço de Bot de IA do Azure e o Microsoft Bot Framework oferecem um conjunto integrado de ferramentas e serviços para ajudá-lo a projetar e criar bots, em todos os estágios do ciclo de vida do bot. Existem SDKs para C#, Java, JavaScript, TypeScript e Python. Escolha seu ambiente de desenvolvimento favorito ou ferramentas de linha de comando para criar seu bot.

Illustration of the steps in the bot life cycle.

Planejar

Assim como acontece com qualquer tipo de software, é importante que o processo de criação de um bot bem-sucedido tenha uma compreensão detalhada dos objetivos, processos e necessidades dos usuários. Você pode criar um bot simples ou incluir recursos mais sofisticados, como fala, reconhecimento de linguagem natural ou respostas às perguntas.

Antes de escrever código, revise as diretrizes de design do bot para conhecer as práticas recomendadas e identificar as necessidades do seu bot.

Compilação

Normalmente, um bot é um serviço web hospedado no Azure. No Azure, você pode configurar seu bot para enviar e receber mensagens e eventos de vários canais. Você pode criar bots em quantos ambientes e idiomas desejar. Você pode criar um bot para o desenvolvimento local.

Com o Serviço de Bot de IA do Azure e o Bot Framework, você pode usar outras bibliotecas e serviços para estender a funcionalidade do bot. Esta tabela descreve alguns dos recursos suportados pelo SDK.

Recurso Descrição Mais Informações
Memória e armazenamento Manter o estado do usuário e da conversa Gerenciar estado
Reconhecimento vocal natural Interpretar e extrair informações a partir da entrada do usuário Reconhecimento vocal
Cartões ricos Combinar texto e outras mídias, como imagens, áudio, vídeo e botões Como adicionar mídia e cartões

Ferramentas de linha de comando para ajudá-lo a criar, gerenciar e testar os ativos do bot. Para obter mais informações, veja CLI do Azure e Bot Framework Tools.

Para obter exemplos de código completos, confira o repositório Bot Framework Samples. Os exemplos demonstram muitos recursos do SDK.

Teste

Bots são aplicativos complexos com muitas partes diferentes trabalhando juntas. Como qualquer outro aplicativo complexo, isso pode levar a alguns erros interessantes ou fazer com que seu bot se comporte de maneira diferente do esperado. Antes de publicar, teste seu bot. Fornecemos várias maneiras de testar bots antes que eles sejam liberados para uso:

  • Testar o bot localmente com o Bot Framework Emulator. O Bot Framework Emulator é um aplicativo autônomo que não só fornece uma interface de chat, mas também ferramentas de depuração e de interrogação para ajudar a entender como e por que seu bot faz o que ele faz. O emulador pode ser executado localmente juntamente com seu aplicativo de bot em desenvolvimento.

  • Teste o bot na Web. Uma vez configurado no portal do Azure, seu bot também pode ser acessado através de uma interface de chat da Web. A interface de chat da Web é uma ótima maneira de conceder acesso ao bot para testadores e outras pessoas que não têm acesso direto ao código de execução do bot.

  • Faça o Teste de unidade de seu bot com a atualização atual do SDK do Bot Framework.

Publicar

Quando estiver pronto para disponibilizar seu bot na web, implante seu bot no Azure ou em seu próprio serviço web ou data center. A primeira etapa para o bot ganhar vida em seu site, ou dentro de canais de chat, é ter um endereço na Internet pública.

Conectar

Conecte seu bot a canais como Facebook, Messenger, Slack, Microsoft Teams, Telegram e SMS via Twilio. O Bot Framework faz a maior parte do trabalho necessário para enviar e receber mensagens de todas essas diferentes plataformas. Seu aplicativo bot recebe um fluxo de mensagens unificado e normalizado, independentemente do número e tipo de canais aos quais ele está conectado. Para obter informações sobre como adicionar canais, confira o tópico canais.

Avaliar

Use os dados coletados no portal do Azure para identificar oportunidades de melhorar os recursos e o desempenho do seu bot. Você pode obter dados de nível de serviço e de instrumentação, como tráfego, latência e integrações. O Google Analytics também fornece relatórios no nível da conversa sobre dados de usuários, mensagens e canais. Para obter mais informações, confira como reunir as análises.

Próximas etapas