{"id":86861,"date":"2020-06-30T19:42:06","date_gmt":"2020-06-30T17:42:06","guid":{"rendered":"https:\/\/prohoster.info\/blog\/administrirovanie\/uskoryaem-razrabotku-s-pomoshhyu-servisov-azure-sozdaem-chat-boty-i-kognitivnye-sluzhby-sredstvami-platformy"},"modified":"2020-06-30T19:42:06","modified_gmt":"2020-06-30T17:42:06","slug":"uskoryaem-razrabotku-s-pomoshhyu-servisov-azure-sozdaem-chat-boty-i-kognitivnye-sluzhby-sredstvami-platformy","status":"publish","type":"post","link":"https:\/\/prohoster.info\/pt\/blog\/administrirovanie\/uskoryaem-razrabotku-s-pomoshhyu-servisov-azure-sozdaem-chat-boty-i-kognitivnye-sluzhby-sredstvami-platformy","title":{"rendered":"Acelerando o desenvolvimento com servi\u00e7os Azure: criando chatbots e servi\u00e7os cognitivos com as ferramentas da plataforma","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Ol\u00e1, Habr! Hoje vamos falar sobre como resolver tarefas que geralmente exigem a interven\u00e7\u00e3o humana usando o Azure. Os operadores gastam muito tempo respondendo \u00e0s mesmas perguntas, lidando com chamadas telef\u00f4nicas e mensagens de texto. Os chatbots automatizam a comunica\u00e7\u00e3o e reconhecimento, permitindo reduzir a carga sobre as pessoas. Al\u00e9m disso, os bots s\u00e3o utilizados no Azure DevOps, onde permitem, por exemplo, aprovar lan\u00e7amentos, gerenciar compila\u00e7\u00f5es - visualizar, iniciar e parar - diretamente do Slack ou Microsoft Teams. Essencialmente, um chatbot se assemelha a um CLI, mas de forma interativa, permitindo que o desenvolvedor n\u00e3o saia do contexto da discuss\u00e3o no chat.<\/p>\n<p>Neste artigo, discutiremos as ferramentas para a cria\u00e7\u00e3o de chatbots, mostraremos como melhor\u00e1-las utilizando servi\u00e7os cognitivos e descreveremos como acelerar o desenvolvimento gra\u00e7as a servi\u00e7os prontos no Azure.<\/p>\n<p><img decoding=\"async\" alt=\"Acelerando o desenvolvimento com servi\u00e7os Azure: criando chatbots e servi\u00e7os cognitivos com as ferramentas da plataforma\" src=\"\/wp-content\/uploads\/2020\/06\/66dac4e72182da3c4acd3a25e50740b0.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<h2>Chatbots e servi\u00e7os cognitivos: semelhan\u00e7as e diferen\u00e7as<\/h2>\n<p>\nPara criar bots no Microsoft Azure, utilizam-se o servi\u00e7o Azure Bot e a plataforma Bot Framework. Juntos, eles constituem um conjunto de software para construir, testar, implantar e administrar bots, permitindo criar sistemas de comunica\u00e7\u00e3o simples e avan\u00e7ados que suportam fala, reconhecimento de linguagem natural e outras funcionalidades.<\/p>\n<p>Suponha que voc\u00ea precise implementar um bot simples baseado em um servi\u00e7o corporativo de perguntas e respostas ou, inversamente, criar um bot funcional com um sistema de comunica\u00e7\u00e3o complexo e ramificado. Para isso, \u00e9 poss\u00edvel utilizar uma s\u00e9rie de ferramentas, classificadas em tr\u00eas grupos:\u00a0<\/p>\n<ol>\n<li>Servi\u00e7os de desenvolvimento r\u00e1pido de interfaces de di\u00e1logo (bots).\n<\/li>\n<li>Servi\u00e7os cognitivos de IA prontos para diferentes cen\u00e1rios de uso (reconhecimento de imagens, fala, base de conhecimento e busca).\n<\/li>\n<li>Servi\u00e7os para a cria\u00e7\u00e3o e treinamento de modelos de IA.\n<\/li>\n<\/ol>\n<p>\nNormalmente, as pessoas misturam intuitivamente 'bots' e 'servi\u00e7os cognitivos', porque ambos os conceitos se baseiam no princ\u00edpio da comunica\u00e7\u00e3o, e h\u00e1 di\u00e1logos nos cen\u00e1rios de uso de bots e servi\u00e7os. No entanto, os chatbots trabalham com palavras-chave e gatilhos, enquanto os servi\u00e7os cognitivos lidam com solicita\u00e7\u00f5es arbitr\u00e1rias que geralmente s\u00e3o processadas por pessoas:\u00a0<\/p>\n<p><img decoding=\"async\" alt=\"Acelerando o desenvolvimento com servi\u00e7os Azure: criando chatbots e servi\u00e7os cognitivos com as ferramentas da plataforma\" src=\"\/wp-content\/uploads\/2020\/06\/645bb695955f94e4b7aacf77b8277bf1.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nServi\u00e7os cognitivos s\u00e3o mais uma forma de comunica\u00e7\u00e3o com o usu\u00e1rio, ajudando a converter uma solicita\u00e7\u00e3o aleat\u00f3ria em um comando claro e pass\u00e1-lo ao bot.\u00a0<\/p>\n<p>Portanto, os chatbots s\u00e3o aplicativos para trabalhar com solicita\u00e7\u00f5es, enquanto os servi\u00e7os cognitivos s\u00e3o ferramentas de an\u00e1lise inteligente de solicita\u00e7\u00f5es que s\u00e3o acionadas separadamente, mas \u00e0s quais o chatbot pode se referir, tornando-se \"inteligente\".\u00a0<\/p>\n<h2>Cria\u00e7\u00e3o de chatbots<\/h2>\n<p>\nO esquema recomendado para projetar um bot no Azure \u00e9 o seguinte:\u00a0<\/p>\n<p><img decoding=\"async\" alt=\"Acelerando o desenvolvimento com servi\u00e7os Azure: criando chatbots e servi\u00e7os cognitivos com as ferramentas da plataforma\" src=\"\/wp-content\/uploads\/2020\/06\/896c6341845b1a7349418441f1df5fef.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nPara projetar e desenvolver bots no Azure, \u00e9 utilizado <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/Microsoft\/botframework\">Bot Framework<\/a><\/noindex>. No GitHub, existem <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/microsoft\/BotBuilder-Samples\">exemplos de bots<\/a><\/noindex>, as capacidades do framework mudam, portanto \u00e9 necess\u00e1rio considerar a vers\u00e3o do SDK que est\u00e1 sendo utilizada nos bots.<\/p>\n<p>O framework permite v\u00e1rias op\u00e7\u00f5es para criar bots: usando c\u00f3digo cl\u00e1ssico, ferramentas de linha de comando ou fluxogramas. A \u00faltima op\u00e7\u00e3o visualiza di\u00e1logos, para isso pode-se usar o gerenciador <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/microsoft\/BotFramework-Composer\">Bot Framework Composer<\/a><\/noindex>. Ele foi criado com a base do Bot Framework SDK como uma ferramenta de desenvolvimento visual que equipes interdisciplinares poderiam usar para criar bots.<\/p>\n<p><img decoding=\"async\" alt=\"Acelerando o desenvolvimento com servi\u00e7os Azure: criando chatbots e servi\u00e7os cognitivos com as ferramentas da plataforma\" src=\"\/wp-content\/uploads\/2020\/06\/b0228e78228e8cb12ead15317c373a3c.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nO Bot Framework Composer permite criar a estrutura de um di\u00e1logo usando blocos, com os quais o bot ir\u00e1 trabalhar. Al\u00e9m disso, \u00e9 poss\u00edvel criar gatilhos, ou seja, palavras-chave que o bot ir\u00e1 responder durante o di\u00e1logo. Por exemplo, palavras como \u201coperador\u201d, \u201croubo\u201d ou \u201cparar\u201d e \u201cchega\u201d.<\/p>\n<p>No Bot Framework Composer, \u00e9 poss\u00edvel criar um sistema de di\u00e1logos altamente ramificado, usando <noindex><a rel=\"nofollow\" href=\"https:\/\/docs.microsoft.com\/en-us\/azure\/bot-service\/bot-builder-adaptive-dialog-introduction?view=azure-bot-service-4.0\">Di\u00e1logos Adaptativos<\/a><\/noindex>. Os di\u00e1logos podem utilizar tanto servi\u00e7os cognitivos quanto cart\u00f5es de eventos (Adaptive Cards):<\/p>\n<p><img decoding=\"async\" alt=\"Acelerando o desenvolvimento com servi\u00e7os Azure: criando chatbots e servi\u00e7os cognitivos com as ferramentas da plataforma\" src=\"\/wp-content\/uploads\/2020\/06\/a82771a42655d4dd678abe7997859caf.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nAp\u00f3s a cria\u00e7\u00e3o, o chatbot pode ser implantado na assinatura, sendo que um script preparado automaticamente ir\u00e1 criar todos os recursos necess\u00e1rios: servi\u00e7os cognitivos, Plano de Aplicativo, Application Insights, banco de dados e assim por diante.<\/p>\n<h3>QnA Maker<\/h3>\n<p>\nPara criar bots simples baseados em bancos de dados corporativos de perguntas e respostas, \u00e9 poss\u00edvel usar o servi\u00e7o cognitivo QnA Maker. Implementado como um simples assistente web, ele permite inserir um link para um banco de dados corporativo (FAQ Urls) ou usar uma base de documentos nos formatos *.doc ou *.pdf. Ap\u00f3s a cria\u00e7\u00e3o do \u00edndice, o bot ir\u00e1 automaticamente encontrar as respostas mais adequadas \u00e0s perguntas do usu\u00e1rio.<\/p>\n<p>Com o QnAMaker, tamb\u00e9m \u00e9 poss\u00edvel criar sequ\u00eancias de perguntas de esclarecimento com a gera\u00e7\u00e3o autom\u00e1tica de bot\u00f5es, complementar a base de conhecimento com metadados e treinar o servi\u00e7o durante o uso.<\/p>\n<p>O servi\u00e7o pode ser usado como um chatbot que executa apenas essa fun\u00e7\u00e3o ou como parte de um chatbot mais complexo, que utiliza, dependendo da solicita\u00e7\u00e3o, outros servi\u00e7os de IA ou elementos do Bot Framework.<\/p>\n<h2>Trabalhando com outros servi\u00e7os cognitivos<\/h2>\n<p>\nNa plataforma Azure, existem muitos servi\u00e7os cognitivos diferentes. Tecnicamente, s\u00e3o servi\u00e7os web aut\u00f4nomos que podem ser chamados a partir do c\u00f3digo. Em resposta, o servi\u00e7o envia um json em um formato espec\u00edfico, que pode ser utilizado no chatbot.<\/p>\n<p><img decoding=\"async\" alt=\"Acelerando o desenvolvimento com servi\u00e7os Azure: criando chatbots e servi\u00e7os cognitivos com as ferramentas da plataforma\" src=\"\/wp-content\/uploads\/2020\/06\/9a986e53162e48c726ecab6bb0352119.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\nCom mais frequ\u00eancia, os seguintes servi\u00e7os podem ser utilizados em chatbots:<\/p>\n<ol>\n<li>Reconhecimento de texto.\n<\/li>\n<li>Reconhecimento de categorias de imagens definidas pelo desenvolvedor do Custom Vision Service (caso de uso: reconhecimento de se o funcion\u00e1rio est\u00e1 usando um capacete, \u00f3culos de prote\u00e7\u00e3o ou m\u00e1scara).\n<\/li>\n<li>Reconhecimento facial (um excelente caso de uso \u2014 verificar se a pessoa que est\u00e1 preenchendo a pesquisa \u00e9 ela mesma ou, por exemplo, uma foto de um cachorro ou uma foto de uma pessoa de sexo diferente).\n<\/li>\n<li>Reconhecimento de fala.\n<\/li>\n<li>An\u00e1lise de imagens.\n<\/li>\n<li>Tradu\u00e7\u00e3o (todos n\u00f3s lembramos do alvoro\u00e7o que o servi\u00e7o de tradu\u00e7\u00e3o simult\u00e2nea causou no Skype).\n<\/li>\n<li>Verifica\u00e7\u00e3o de ortografia e sugest\u00f5es de corre\u00e7\u00e3o de erros.\n<\/li>\n<\/ol>\n<p><\/p>\n<h3>LUIS<\/h3>\n<p>\nAl\u00e9m disso, para criar bots, pode ser necess\u00e1rio <noindex><a rel=\"nofollow\" href=\"https:\/\/www.luis.ai\/\">LUIS<\/a><\/noindex> (Language Understanding Intelligent Service). As tarefas do servi\u00e7o s\u00e3o:<\/p>\n<ul>\n<li>Determinar se a declara\u00e7\u00e3o do usu\u00e1rio faz sentido e se \u00e9 necess\u00e1ria uma resposta do bot.\n<\/li>\n<li>Reduzir os esfor\u00e7os na transcri\u00e7\u00e3o da fala (texto) do usu\u00e1rio em comandos compreens\u00edveis para o bot.\n<\/li>\n<li>Prever as verdadeiras metas\/intencionalidades do usu\u00e1rio e extrair informa\u00e7\u00f5es-chave de frases no di\u00e1logo.\n<\/li>\n<li>Permitir que o desenvolvedor inicie o bot utilizando apenas alguns exemplos de reconhecimento de sentido e ent\u00e3o treine o bot durante seu funcionamento.\n<\/li>\n<li>Permitir que o desenvolvedor utilize visualiza\u00e7\u00f5es para avaliar a qualidade da transcri\u00e7\u00e3o de comandos.\n<\/li>\n<li>Ajudar em melhorias cont\u00ednuas no reconhecimento das verdadeiras inten\u00e7\u00f5es.\n<\/li>\n<\/ul>\n<p>\nEssencialmente, o principal objetivo do LUIS \u00e9 entender, com uma certa probabilidade, o que o usu\u00e1rio quis dizer e converter um pedido natural em um comando estruturado. Para reconhecer os significados dos pedidos, o LUIS utiliza um conjunto de inten\u00e7\u00f5es e entidades, que podem ser pr\u00e9-configuradas pelos desenvolvedores ou obtidas de 'dom\u00ednios' previamente formados \u2014 algumas bibliotecas prontas de frases t\u00edpicas preparadas pela Microsoft.\u00a0<\/p>\n<p>Um exemplo simples: voc\u00ea tem um bot que fornece previs\u00f5es do tempo. Para ele, a inten\u00e7\u00e3o ser\u00e1 traduzir um pedido natural em uma 'a\u00e7\u00e3o' \u2014 um pedido de previs\u00e3o do tempo, e as entidades ser\u00e3o o tempo e o lugar. Vamos apresentar um esquema de funcionamento da inten\u00e7\u00e3o CheckWeather para esse bot.<\/p>\n<p>Inten\u00e7\u00e3o<br \/>\nEntidade<br \/>\nExemplo de pedido natural<\/p>\n<p>CheckWeather<br \/>\n{\"type\": \"location\", \"entity\": \"moscow\"}<br \/>\n{\u00abtype\u00bb: \u00abbuiltin.datetimeV2.date\u00bb, \u00abentity\u00bb: \u00abfuture \u00bb, \" resolution \": \" 2020-05-30 \"}<br \/>\nQual ser\u00e1 o tempo amanh\u00e3 em Moscovo<\/p>\n<p>CheckWeather<br \/>\n{\"type\": \"date_range\", \"entity\": \"this weekend\"}<br \/>\nMostre-me a previs\u00e3o para este fim de semana<\/p>\n<p>Para combinar o QnA Maker e o LUIS, pode-se usar <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/microsoft\/botbuilder-tools\">Dispatcher<\/a><\/noindex>.\u00a0<\/p>\n<p><img decoding=\"async\" alt=\"Acelerando o desenvolvimento com servi\u00e7os Azure: criando chatbots e servi\u00e7os cognitivos com as ferramentas da plataforma\" src=\"\/wp-content\/uploads\/2020\/06\/5ecf836fc5675676b8460662aa30dd2d.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nQuando voc\u00ea trabalha com o QnA Maker e recebe uma solicita\u00e7\u00e3o do usu\u00e1rio, o sistema determina com qual percentual de probabilidade a resposta do QnA se adequa ao pedido. Se a probabilidade for alta, a resposta \u00e9 simplesmente fornecida da base de conhecimento corporativa; se for baixa, o pedido pode ser enviado ao LUIS para mais esclarecimentos. O uso do Dispatcher permite n\u00e3o programar essa l\u00f3gica, mas identificar automaticamente essa linha de divis\u00e3o de pedidos e distribu\u00ed-los rapidamente.<\/p>\n<h3>Testando e publicando o bot<\/h3>\n<p>\nPara teste, utiliza-se outro aplicativo local, <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/microsoft\/botframework-sdk#Bot-Framework-Emulator\">Bot framework emulator<\/a><\/noindex>. Com o emulador, voc\u00ea pode interagir com o bot e verificar as mensagens que ele envia e recebe. O emulador exibe as mensagens como elas aparecer\u00e3o na interface do chat da web e registra pedidos e respostas JSON durante a troca de mensagens com o bot.<\/p>\n<p>Um exemplo de uso do emulador est\u00e1 nesta demonstra\u00e7\u00e3o, que mostra a cria\u00e7\u00e3o de um assistente virtual para a BMW. O v\u00eddeo tamb\u00e9m aborda os novos aceleradores para a cria\u00e7\u00e3o de chatbots \u2014 templates:<\/p>\n<p><img decoding=\"async\" alt=\"Acelerando o desenvolvimento com servi\u00e7os Azure: criando chatbots e servi\u00e7os cognitivos com as ferramentas da plataforma\" src=\"\/wp-content\/uploads\/2020\/06\/8e6c93f8d200fed2128e13e328c3369b.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<i><noindex><a rel=\"nofollow\" href=\"https:\/\/youtu.be\/u7Gql-ClcVA?t=564\">https:\/\/youtu.be\/u7Gql-ClcVA?t=564<\/a><\/noindex><\/i><\/p>\n<p>Voc\u00ea tamb\u00e9m pode usar templates ao criar seus pr\u00f3prios chatbots.\u00a0<br \/>\nOs templates permitem evitar a reescrita de fun\u00e7\u00f5es comuns do bot, adicionando c\u00f3digo j\u00e1 pronto como \"habilidade\". Um exemplo pode ser o trabalho com o calend\u00e1rio, agendamento de reuni\u00f5es, etc. C\u00f3digo de habilidades prontas <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/microsoft\/botframework-skills\">foi publicado<\/a><\/noindex> no github.<\/p>\n<p>Os testes foram bem-sucedidos, o bot est\u00e1 pronto e agora precisa ser publicado e conectado aos canais. A publica\u00e7\u00e3o \u00e9 realizada por meio do Azure, e os canais podem ser mensageiros ou redes sociais. Se n\u00e3o houver o canal necess\u00e1rio para a entrada de dados, voc\u00ea pode procur\u00e1-lo na comunidade correspondente no GitHub.\u00a0<\/p>\n<p>Al\u00e9m disso, para criar um chatbot completo como interface de comunica\u00e7\u00e3o com o usu\u00e1rio e servi\u00e7os cognitivos, voc\u00ea precisar\u00e1 de servi\u00e7os adicionais do Azure, como bancos de dados, serverless (Azure Functions), al\u00e9m dos servi\u00e7os LogicApp e, possivelmente, Event Grid.<\/p>\n<p><img decoding=\"async\" alt=\"Acelerando o desenvolvimento com servi\u00e7os Azure: criando chatbots e servi\u00e7os cognitivos com as ferramentas da plataforma\" src=\"\/wp-content\/uploads\/2020\/06\/ad218db9267934e319e74b60b5b8c96a.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<\/p>\n<h3>Avalia\u00e7\u00e3o e An\u00e1lise<\/h3>\n<p>\nPara avaliar a intera\u00e7\u00e3o com os usu\u00e1rios, voc\u00ea pode usar tanto a an\u00e1lise embutida do Azure Bot Service quanto o servi\u00e7o Application Insights.<\/p>\n<p>Como resultado, \u00e9 poss\u00edvel coletar informa\u00e7\u00f5es com base nos seguintes crit\u00e9rios:<\/p>\n<ul>\n<li>Quantos usu\u00e1rios tiveram acesso ao bot de diferentes canais durante um per\u00edodo selecionado.\n<\/li>\n<li>Quantos usu\u00e1rios que enviaram uma mensagem retornaram mais tarde e enviaram outra.\n<\/li>\n<li>Quantas a\u00e7\u00f5es foram enviadas e recebidas atrav\u00e9s de cada canal durante o intervalo de tempo especificado.\n<\/li>\n<\/ul>\n<p>\nCom o Application Insights, \u00e9 poss\u00edvel monitorar quaisquer aplicativos no Azure e, em particular, chatbots, obtendo dados adicionais sobre o comportamento dos usu\u00e1rios, cargas e rea\u00e7\u00f5es do chatbot. Vale ressaltar que o servi\u00e7o Application Insights tem sua pr\u00f3pria interface no portal do Azure.<\/p>\n<p>Al\u00e9m disso, os dados coletados atrav\u00e9s deste servi\u00e7o podem ser utilizados para criar visualiza\u00e7\u00f5es adicionais e relat\u00f3rios anal\u00edticos no PowerBI. Um exemplo de tal relat\u00f3rio e um template para PowerBI podem ser encontrados <noindex><a rel=\"nofollow\" href=\"https:\/\/microsoft.github.io\/botframework-solutions\/solution-accelerators\/tutorials\/view-analytics\/1-intro\/\">aqui<\/a><\/noindex>.<\/p>\n<p><img decoding=\"async\" alt=\"Acelerando o desenvolvimento com servi\u00e7os Azure: criando chatbots e servi\u00e7os cognitivos com as ferramentas da plataforma\" src=\"\/wp-content\/uploads\/2020\/06\/f11895acd918e511455c56616aeb107a.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nAgradecemos a todos pela aten\u00e7\u00e3o! Neste artigo, utilizamos <noindex><a rel=\"nofollow\" href=\"https:\/\/webinars.softline.com\/mira\/miravr\/9848571835\">um material<\/a><\/noindex> do webinar da arquiteta do Microsoft Azure, Anna Fenyushina, \"Quando as pessoas n\u00e3o conseguem acompanhar. Como usar 100% chatbots e servi\u00e7os cognitivos para automatizar processos rotineiros\", onde mostramos de forma clara o que s\u00e3o chatbots no Azure e quais s\u00e3o os cen\u00e1rios de sua aplica\u00e7\u00e3o, al\u00e9m de demonstrar como criar um bot no QnA Maker em 15 minutos e como interpretar a estrutura das solicita\u00e7\u00f5es no LUIS.\u00a0<\/p>\n<p>Realizamos este webinar como parte do maratona online para desenvolvedores Dev Bootcamp. Nele, falamos sobre produtos que aceleram o desenvolvimento e aliviam parte da carga de trabalho rotineira dos colaboradores da empresa por meio de ferramentas de automa\u00e7\u00e3o e m\u00f3dulos pr\u00e9-configurados do Azure. As grava\u00e7\u00f5es de outros webinars que fizeram parte da maratona est\u00e3o dispon\u00edveis por meio dos links:<\/p>\n<ul>\n<li><noindex><a rel=\"nofollow\" href=\"https:\/\/webinars.softline.com\/mira\/miravr\/1844543042\">Azure DevOps como uma ferramenta para organizar o ciclo completo de desenvolvimento em qualquer linguagem e para qualquer plataforma, utilizando pr\u00e1ticas de DevOps<\/a><\/noindex>\u00a0<br \/>\nDiscutimos a evolu\u00e7\u00e3o e as novas funcionalidades do servi\u00e7o Azure DevOps. Analisamos em detalhes seus cinco componentes principais e como o servi\u00e7o ajuda na organiza\u00e7\u00e3o do desenvolvimento industrial de software. Apresentador \u2014 Vladimir Gusarov, Microsoft MVP.<\/li>\n<li><noindex><a rel=\"nofollow\" href=\"https:\/\/webinars.softline.com\/mira\/miravr\/3765774186\">Organiza\u00e7\u00e3o de CI\/CD utilizando Azure Pipelines<\/a><\/noindex><br \/>\nAberto para discutir como implementar a abordagem 'build as code' para qualquer linguagem de programa\u00e7\u00e3o utilizando pipelines YAML de m\u00faltiplas etapas. Apresentador \u2014 Vladimir Gusarov, Microsoft MVP.<\/li>\n<li><noindex><a rel=\"nofollow\" href=\"https:\/\/webinars.softline.com\/mira\/miravr\/0241941537\">Pr\u00e1ticas de suporte simult\u00e2neo a v\u00e1rias vers\u00f5es de produtos no desenvolvimento industrial, utilizando Azure Repos<\/a><\/noindex><br \/>\nDiscutimos como desenvolver estrat\u00e9gias de armazenamento do c\u00f3digo-fonte de software, e como utilizar sistemas de controle de vers\u00f5es com o Azure Repos. Apresentador \u2014 Vladimir Gusarov, Microsoft MVP.<\/li>\n<li><noindex><a rel=\"nofollow\" href=\"https:\/\/webinars.softline.com\/mira\/miravr\/7191200961\">WhiteSource. Monitoramento de bibliotecas open source seguras\u00a0<\/a><\/noindex><br \/>\nApresentamos metodologias de gest\u00e3o de open source no desenvolvimento e a aplica\u00e7\u00e3o pr\u00e1tica da ferramenta WhiteSource. Falamos sobre a busca por vulnerabilidades em componentes de c\u00f3digo aberto e a conformidade licen\u00e7as com o uso do WhiteSource. Apresentadores \u2014 Diana Lisbaron, Diretora de Vendas da WhiteSource, e Darya Oreshkina, Controle Web, distribuidora oficial da WhiteSource na R\u00fassia.<\/li>\n<\/ul>\n<p>Fonte: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/softline\/blog\/508406\/\">habr.com<\/a> <\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u041f\u0440\u0438\u0432\u0435\u0442, \u0425\u0430\u0431\u0440! \u0421\u0435\u0433\u043e\u0434\u043d\u044f \u043c\u044b \u0440\u0430\u0441\u0441\u043a\u0430\u0436\u0435\u043c, \u043a\u0430\u043a \u0440\u0435\u0448\u0430\u0442\u044c \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e Azure \u0437\u0430\u0434\u0430\u0447\u0438, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043e\u0431\u044b\u0447\u043d\u043e \u0442\u0440\u0435\u0431\u0443\u044e\u0442 \u0447\u0435\u043b\u043e\u0432\u0435\u0447\u0435\u0441\u043a\u043e\u0433\u043e \u0443\u0447\u0430\u0441\u0442\u0438\u044f. \u041e\u043f\u0435\u0440\u0430\u0442\u043e\u0440\u044b \u0442\u0440\u0430\u0442\u044f\u0442 \u043c\u043d\u043e\u0433\u043e \u0432\u0440\u0435\u043c\u0435\u043d\u0438, \u0447\u0442\u043e\u0431\u044b \u043e\u0442\u0432\u0435\u0447\u0430\u0442\u044c \u043d\u0430 \u043e\u0434\u043d\u0438 \u0438 \u0442\u0435 \u0436\u0435 \u0432\u043e\u043f\u0440\u043e\u0441\u044b, \u043e\u0431\u0440\u0430\u0431\u0430\u0442\u044b\u0432\u0430\u0442\u044c \u0442\u0435\u043b\u0435\u0444\u043e\u043d\u043d\u044b\u0435 \u0437\u0432\u043e\u043d\u043a\u0438 \u0438 \u0442\u0435\u043a\u0441\u0442\u043e\u0432\u044b\u0435 \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u044f. \u0427\u0430\u0442-\u0431\u043e\u0442\u044b \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0437\u0438\u0440\u0443\u044e\u0442 \u043e\u0431\u0449\u0435\u043d\u0438\u0435 \u0438 \u0440\u0430\u0441\u043f\u043e\u0437\u043d\u0430\u0432\u0430\u043d\u0438\u0435 \u0438 \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u044e\u0442 \u0441\u043d\u0438\u0437\u0438\u0442\u044c \u043d\u0430\u0433\u0440\u0443\u0437\u043a\u0443 \u043d\u0430 \u043b\u044e\u0434\u0435\u0439. \u0422\u0430\u043a\u0436\u0435 \u0431\u043e\u0442\u044b \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044e\u0442\u0441\u044f \u0432\u00a0 Azure DevOps, \u0433\u0434\u0435 \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u044e\u0442, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u0443\u0442\u0432\u0435\u0440\u0436\u0434\u0430\u0442\u044c [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":86862,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[688],"tags":[],"class_list":["post-86861","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-administrirovanie"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.3 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u041f\u0440\u0438\u0432\u0435\u0442, \u0425\u0430\u0431\u0440! \u0421\u0435\u0433\u043e\u0434\u043d\u044f \u043c\u044b \u0440\u0430\u0441\u0441\u043a\u0430\u0436\u0435\u043c, \u043a\u0430\u043a \u0440\u0435\u0448\u0430\u0442\u044c \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e Azure \u0437\u0430\u0434\u0430\u0447\u0438, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043e\u0431\u044b\u0447\u043d\u043e \u0442\u0440\u0435\u0431\u0443\u044e\u0442 \u0447\u0435\u043b\u043e\u0432\u0435\u0447\u0435\u0441\u043a\u043e\u0433\u043e \u0443\u0447\u0430\u0441\u0442\u0438\u044f.\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Yuri Gagarin\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/pt\/blog\/administrirovanie\/uskoryaem-razrabotku-s-pomoshhyu-servisov-azure-sozdaem-chat-boty-i-kognitivnye-sluzhby-sredstvami-platformy\" \/>\n\t\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.3\" \/>\n\t\t<meta property=\"og:locale\" content=\"pt_PT\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd47\u0423\u0441\u043a\u043e\u0440\u044f\u0435\u043c \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0443 \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u0441\u0435\u0440\u0432\u0438\u0441\u043e\u0432 Azure: \u0441\u043e\u0437\u0434\u0430\u0435\u043c \u0447\u0430\u0442-\u0431\u043e\u0442\u044b \u0438 \u043a\u043e\u0433\u043d\u0438\u0442\u0438\u0432\u043d\u044b\u0435 \u0441\u043b\u0443\u0436\u0431\u044b \u0441\u0440\u0435\u0434\u0441\u0442\u0432\u0430\u043c\u0438 \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u044b | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u041f\u0440\u0438\u0432\u0435\u0442, \u0425\u0430\u0431\u0440! \u0421\u0435\u0433\u043e\u0434\u043d\u044f \u043c\u044b \u0440\u0430\u0441\u0441\u043a\u0430\u0436\u0435\u043c, \u043a\u0430\u043a \u0440\u0435\u0448\u0430\u0442\u044c \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e Azure \u0437\u0430\u0434\u0430\u0447\u0438, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043e\u0431\u044b\u0447\u043d\u043e \u0442\u0440\u0435\u0431\u0443\u044e\u0442 \u0447\u0435\u043b\u043e\u0432\u0435\u0447\u0435\u0441\u043a\u043e\u0433\u043e \u0443\u0447\u0430\u0441\u0442\u0438\u044f.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/pt\/blog\/administrirovanie\/uskoryaem-razrabotku-s-pomoshhyu-servisov-azure-sozdaem-chat-boty-i-kognitivnye-sluzhby-sredstvami-platformy\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2020-06-30T17:42:06+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2020-06-30T17:42:06+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd47Aceleramos o desenvolvimento usando os servi\u00e7os do Azure: criamos chatbots e servi\u00e7os cognitivos utilizando a plataforma | ProHoster","description":"Ol\u00e1, Habr! Hoje vamos falar sobre como resolver, com o Azure, tarefas que normalmente exigem participa\u00e7\u00e3o humana.","canonical_url":"https:\/\/prohoster.info\/pt\/blog\/administrirovanie\/uskoryaem-razrabotku-s-pomoshhyu-servisov-azure-sozdaem-chat-boty-i-kognitivnye-sluzhby-sredstvami-platformy","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"pt_PT","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd47\u0423\u0441\u043a\u043e\u0440\u044f\u0435\u043c \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0443 \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u0441\u0435\u0440\u0432\u0438\u0441\u043e\u0432 Azure: \u0441\u043e\u0437\u0434\u0430\u0435\u043c \u0447\u0430\u0442-\u0431\u043e\u0442\u044b \u0438 \u043a\u043e\u0433\u043d\u0438\u0442\u0438\u0432\u043d\u044b\u0435 \u0441\u043b\u0443\u0436\u0431\u044b \u0441\u0440\u0435\u0434\u0441\u0442\u0432\u0430\u043c\u0438 \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u044b | ProHoster","og:description":"\u041f\u0440\u0438\u0432\u0435\u0442, \u0425\u0430\u0431\u0440! \u0421\u0435\u0433\u043e\u0434\u043d\u044f \u043c\u044b \u0440\u0430\u0441\u0441\u043a\u0430\u0436\u0435\u043c, \u043a\u0430\u043a \u0440\u0435\u0448\u0430\u0442\u044c \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e Azure \u0437\u0430\u0434\u0430\u0447\u0438, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043e\u0431\u044b\u0447\u043d\u043e \u0442\u0440\u0435\u0431\u0443\u044e\u0442 \u0447\u0435\u043b\u043e\u0432\u0435\u0447\u0435\u0441\u043a\u043e\u0433\u043e \u0443\u0447\u0430\u0441\u0442\u0438\u044f.","og:url":"https:\/\/prohoster.info\/pt\/blog\/administrirovanie\/uskoryaem-razrabotku-s-pomoshhyu-servisov-azure-sozdaem-chat-boty-i-kognitivnye-sluzhby-sredstvami-platformy","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2020-06-30T17:42:06+00:00","article:modified_time":"2020-06-30T17:42:06+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"86861","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":null,"schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"seo_analyzer_scan_date":null,"breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-02-28 14:05:26","updated":"2022-10-07 09:06:51","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/posts\/86861","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/comments?post=86861"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/posts\/86861\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/media\/86862"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/media?parent=86861"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/categories?post=86861"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/tags?post=86861"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}