{"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\/et\/blog\/administrirovanie\/uskoryaem-razrabotku-s-pomoshhyu-servisov-azure-sozdaem-chat-boty-i-kognitivnye-sluzhby-sredstvami-platformy","title":{"rendered":"Kiirendame arendust Azure teenuste abil: loome vestlusroboteid ja kognitiivseid teenuseid platvormi vahenditega.","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Tere, Habr! T\u00e4na r\u00e4\u00e4gime, kuidas Azure abil lahendada \u00fclesandeid, mis tavaliselt n\u00f5uavad inimtegevust. Operaatorid kulutavad palju aega, et vastata samadele k\u00fcsimustele, t\u00f6\u00f6delda telefonik\u00f5nesid ja tekstis\u00f5numeid. Vestlusrobotid automatiseerivad suhtlemist ja tuvastamist, v\u00f5imaldades v\u00e4hendada inimeste koormust. Samuti kasutatakse roboteid Azure DevOpsis, kus nad v\u00f5imaldavad n\u00e4iteks kinnitada versioone, hallata ehitusi \u2013 vaadata, k\u00e4ivitada ja peatada \u2013 otse Slackist v\u00f5i Microsoft Teamsist. Sisuliselt sarnaneb vestlusrobot millegagi CLI-le, ainult interaktiivselt, ja v\u00f5imaldab arendajal mitte lahkuda vestluse kontekstist.<\/p>\n<p>Selles artiklis r\u00e4\u00e4gime vestlusrobotite loomise t\u00f6\u00f6riistadest, n\u00e4itame, kuidas neid saab parandada kognitiivsete teenuste abil, ja kirjeldame, kuidas arendust kiirendada t\u00e4nu valmis teenustele Azure'is.<\/p>\n<p><img decoding=\"async\" alt=\"Kiirendame arendust Azure teenuste abil: loome vestlusroboteid ja kognitiivseid teenuseid platvormi vahenditega.\" 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>Vestlusrobotid ja kognitiivsed teenused: sarnasused ja erinevused<\/h2>\n<p>\nMicrosoft Azure'is vestlusrobotite loomiseks kasutatakse Azure Boti teenust ja Bot Frameworki platvormi. Koos nad moodustavad tarkvara komplekti robotite koostamiseks, testimiseks, juurutamiseks ja haldamiseks, mis v\u00f5imaldab luua nii lihtsaid kui ka arenenud suhtluse s\u00fcsteeme koos k\u00f5nesuhtluse, looduse keele tuvastamise ja muude v\u00f5imalustega.<\/p>\n<p>Oletame, et peate rakendama lihtsa robotit ettev\u00f5tte k\u00fcsimuste ja vastuste teenusel v\u00f5i, vastupidi, looma funktsionaalse roboti keeruka hargneva suhtluss\u00fcsteemiga. Selleks saab kasutada mitmeid t\u00f6\u00f6riistu, mida v\u00f5ib umbkaudu jagada kolme gruppi:\u00a0<\/p>\n<ol>\n<li>Dialoogivahendite (robotite) kiire arendamise teenused.\n<\/li>\n<li>Valmis kognitiivsed tehisintellekti teenused erinevate kasutusstsenaariumide jaoks (pildituvastus, k\u00f5netuvastus, teadmusbaas ja otsing).\n<\/li>\n<li>Tehisintellekti mudelite loomise ja treenimise teenused.\n<\/li>\n<\/ol>\n<p>\nInimesed segavad tavaliselt intuitsiooni poolest 'roboteid' ja 'kognitiivseid teenuseid', kuna nende m\u00f5istete aluseks on suhtlemise printsiip ning robotite ja teenuste kasutusstsenaariumites on dialoogid. Kuid vestlusrobotid t\u00f6\u00f6tavad v\u00f5tmes\u00f5nade ja stiimulitega, samas kui kognitiivsed teenused t\u00f6\u00f6tlevad vabalt esitatud p\u00e4ringuid, mille tavaliselt t\u00f6\u00f6tlevad inimesed:\u00a0<\/p>\n<p><img decoding=\"async\" alt=\"Kiirendame arendust Azure teenuste abil: loome vestlusroboteid ja kognitiivseid teenuseid platvormi vahenditega.\" src=\"\/wp-content\/uploads\/2020\/06\/645bb695955f94e4b7aacf77b8277bf1.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nKognitiivsed teenused on veel \u00fcks viis suhtlemiseks kasutajaga, aidates muuta juhusliku p\u00e4ringu selgeks k\u00e4skluseks ja edastada selle edasi botile.\u00a0<\/p>\n<p>Nii et vestlusbotid on rakendused, mis t\u00f6\u00f6tavad p\u00e4ringutega, ja kognitiivsed teenused on nutika anal\u00fc\u00fcsi t\u00f6\u00f6riistad, mida k\u00e4ivitatakse eraldi, kuid mille poole vestlusbot v\u00f5ib p\u00f6\u00f6rduda, muutes selle 'intelligentseks'.\u00a0<\/p>\n<h2>Vestlusbotide loomine<\/h2>\n<p>\nSoovitatav botide projektimise skeem Azure'is n\u00e4eb v\u00e4lja j\u00e4rgmine:\u00a0<\/p>\n<p><img decoding=\"async\" alt=\"Kiirendame arendust Azure teenuste abil: loome vestlusroboteid ja kognitiivseid teenuseid platvormi vahenditega.\" src=\"\/wp-content\/uploads\/2020\/06\/896c6341845b1a7349418441f1df5fef.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nBotide projekteerimiseks ja arendamiseks Azure'is kasutatakse <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/Microsoft\/botframework\">Bot Framework<\/a><\/noindex>. GitHubis on olemas <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/microsoft\/BotBuilder-Samples\">botide n\u00e4idised<\/a><\/noindex>, raamistik muutub pidevalt, seega tuleb arvestada SDK versiooniga, mida botides kasutatakse.<\/p>\n<p>Raamistik eeldab mitmeid v\u00f5imalusi botide loomiseks: klassikalise koodi, k\u00e4surea t\u00f6\u00f6riistade v\u00f5i plokkdiagrammide abil. Viimane v\u00f5imalus visualiseerib dialoogid, mille jaoks saab kasutada haldurit <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/microsoft\/BotFramework-Composer\">Bot Framework Composer<\/a><\/noindex>. See loodi Bot Framework SDK baasil visuaalse arendust\u00f6\u00f6riistana, mida interdistsiplinaarsed meeskonnad saaksid kasutada botide loomiseks.<\/p>\n<p><img decoding=\"async\" alt=\"Kiirendame arendust Azure teenuste abil: loome vestlusroboteid ja kognitiivseid teenuseid platvormi vahenditega.\" src=\"\/wp-content\/uploads\/2020\/06\/b0228e78228e8cb12ead15317c373a3c.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nBot Framework Composer v\u00f5imaldab plokkide abil luua dialooge, millega bot t\u00f6\u00f6tab. Samuti on v\u00f5imalik luua k\u00e4ivitajaid, st m\u00e4rks\u00f5nu, millele bot reageerib dialooge k\u00e4ies. N\u00e4iteks s\u00f5nad 'operaator', 'vargus' v\u00f5i 'peatu' ja 'j\u00e4tku'.<\/p>\n<p>Bot Framework Composer'is on v\u00f5imalik luua keerukaid hargnevaid dialoogis\u00fcsteeme, kasutades <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\">Adaptive Dialogs<\/a><\/noindex>. Dialoogid saavad kasutada nii kognitiivseid teenuseid kui ka s\u00fcndmuste kaarte (Adaptive Cards):<\/p>\n<p><img decoding=\"async\" alt=\"Kiirendame arendust Azure teenuste abil: loome vestlusroboteid ja kognitiivseid teenuseid platvormi vahenditega.\" src=\"\/wp-content\/uploads\/2020\/06\/a82771a42655d4dd678abe7997859caf.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nP\u00e4rast loomist on v\u00f5imalik vestlusrobotit juurutada tellimuses, kus automaatselt genereeritud skript loob k\u00f5ik vajalikud ressursid: kognitiivsed teenused, rakenduse plaan, Application Insights, andmebaas jne.<\/p>\n<h3>QnA Maker<\/h3>\n<p>\nLihtsate botide loomiseks ettev\u00f5tte k\u00fcsimuste ja vastuste andmebaaside p\u00f5hjal saab kasutada kognitiivset teenust QnA Maker. See, mis on teostatud lihtsa veebiv\u00f5luri kujul, v\u00f5imaldab esitada sisendiks lingi ettev\u00f5tte teadmistetalli (Korduma kippuvad k\u00fcsimused) v\u00f5i v\u00f5tta aluseks dokumentide andmebaasi formaadis *.doc v\u00f5i *.pdf. P\u00e4rast indeksi loomist peab bot ise kasutaja k\u00fcsimustele k\u00f5ige sobivamad vastused v\u00e4lja otsima.<\/p>\n<p>QnAMaker aitab luua ka t\u00e4iendavate k\u00fcsimuste ahelaid koos automaatselt loodud nuppudega, rikastada teadmistebaasi metaandmetega ning t\u00e4iendada teenust kasutamise k\u00e4igus.<\/p>\n<p>Teenust v\u00f5ib kasutada kui juturobot, mis t\u00e4idab ainult seda funktsiooni, v\u00f5i keerulise juturoboti osana, mis kasutab vajadusel ka teisi tehisintellekti teenuseid v\u00f5i Bot Framework elemente.<\/p>\n<h2>T\u00f6\u00f6tamine teiste kognitiivsete teenustega<\/h2>\n<p>\nAzure platvormil on palju erinevaid kognitiivseid teenuseid. Tehniliselt on need iseseisvad veebiteenused, mida saab koodist kutsuda. Teenus saadab vastuseks m\u00e4\u00e4ratud formaadis json, mida saab kasutada juturoboti juures.<\/p>\n<p><img decoding=\"async\" alt=\"Kiirendame arendust Azure teenuste abil: loome vestlusroboteid ja kognitiivseid teenuseid platvormi vahenditega.\" src=\"\/wp-content\/uploads\/2020\/06\/9a986e53162e48c726ecab6bb0352119.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\nJuturoboti puhul kasutatakse k\u00f5ige sagedamini j\u00e4rgmisi teenuseid:<\/p>\n<ol>\n<li>Teksti \u00e4ratundmine.\n<\/li>\n<li>Arendaja m\u00e4\u00e4ratletud piltide kategooriate \u00e4ratundmine, Custom Vision Service (tootmisjuhtum: \u00e4ratundmine, kas t\u00f6\u00f6tajal on kiiver, kaitseprillid v\u00f5i mask).\n<\/li>\n<li>N\u00e4otuvastus (hea kasutusjuht on kontrollida, kas k\u00fcsitletud on kasutanud oma n\u00e4gu v\u00f5i on see n\u00e4iteks koera foto v\u00f5i vastassugupoole inimese foto).\n<\/li>\n<li>K\u00f5netuvastus.\n<\/li>\n<li>Piltide anal\u00fc\u00fcs.\n<\/li>\n<li>T\u00f5lge (k\u00f5ik me m\u00e4letame, kui palju k\u00f5mu tekitas simultaan t\u00f5lge Skype'is).\n<\/li>\n<li>\u00d5igekirjakontroll ja ettepanekud vigade parandamiseks.\n<\/li>\n<\/ol>\n<p><\/p>\n<h3>LUIS<\/h3>\n<p>\nRoboide loomiseks v\u00f5ib olla vajalik ka <noindex><a rel=\"nofollow\" href=\"https:\/\/www.luis.ai\/\">LUIS<\/a><\/noindex> (Language Understanding Intelligent Service). Teenuse \u00fclesanded:<\/p>\n<ul>\n<li>M\u00e4\u00e4rata, kas kasutaja v\u00e4ljendus on m\u00f5ttekas ja kas robot peab reageerima.\n<\/li>\n<li>V\u00e4hendada kasutaja k\u00f5ne (teksti) transkribeerimise pingutusi arusaadavateks robotik\u00e4skudeks.\n<\/li>\n<li>Prognoosida tegelikke kasutaja eesm\u00e4rke\/soove ja ekstraheerida olulist teavet v\u00e4ljenditest dialoogis.\n<\/li>\n<li>Anda arendajale v\u00f5imalus robot k\u00e4ivitada, kasutades ainult m\u00f5nda m\u00f5istmise n\u00e4idet, ning seej\u00e4rel t\u00e4iendada robotit t\u00f6\u00f6 k\u00e4igus.\n<\/li>\n<li>Anda arendajale v\u00f5imalus kasutada visuaalset esitlust, et hinnata k\u00e4skude transkribeerimise kvaliteeti.\n<\/li>\n<li>Aidata samm-sammult parandada tegelike eesm\u00e4rkide \u00e4ratundmist.\n<\/li>\n<\/ul>\n<p>\nEesm\u00e4rk on, et LUIS m\u00f5istaks t\u00f5en\u00e4oliselt, mida kasutaja silmas pidas, ja muundaks loomuliku p\u00e4ringu selgesse k\u00e4susse. LUIS kasutab p\u00e4ringute t\u00e4henduste tuvastamiseks komplekti intente (tahteid) ja entiteete (kas eelnevalt arendajate poolt m\u00e4\u00e4ratletud v\u00f5i Microsofti loodud valmiduste kaudu).\u00a0<\/p>\n<p>Lihtne n\u00e4ide: teil on bot, mis annab ilmateate. Selle jaoks on intent loomuliku p\u00e4ringu muundamine 'tegevuseks' \u2014 ilmaprognoosi p\u00e4ring, ja entiteetideks on aeg ja koht. Toome n\u00e4ite CheckWeather intent'i t\u00f6\u00f6 t\u00e4nase boti jaoks.<\/p>\n<p>Intent<br \/>\nEntiteet<br \/>\nN\u00e4ide loomulikust p\u00e4ringust<\/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 \/>\nMilline ilm homme Moskvas on<\/p>\n<p>CheckWeather<br \/>\n{\"type\": \"date_range\", \"entity\": \"this weekend\"}<br \/>\nN\u00e4ita mulle prognoosi nende n\u00e4dalavahetuste kohta<\/p>\n<p>QnA Maker ja LUIS'i kombinatsiooni saab kasutada <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/microsoft\/botbuilder-tools\">Dispatcher<\/a><\/noindex>.\u00a0<\/p>\n<p><img decoding=\"async\" alt=\"Kiirendame arendust Azure teenuste abil: loome vestlusroboteid ja kognitiivseid teenuseid platvormi vahenditega.\" src=\"\/wp-content\/uploads\/2020\/06\/5ecf836fc5675676b8460662aa30dd2d.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nKui t\u00f6\u00f6tate QnA Makeriga ja saate kasutajalt p\u00e4ringu, m\u00e4\u00e4rab s\u00fcsteem, kui suure t\u00f5en\u00e4osusega sobib QnA-s\u00fcsteemist saadud vastus p\u00e4ringule. Kui t\u00f5en\u00e4osus on k\u00f5rge, antakse kasutajale lihtsalt organisatsiooni teadmusbaasi vastus, kui madal \u2014 p\u00e4ring v\u00f5ib minna LUISi, et selgitada. Dispatcher'i kasutamine v\u00f5imaldab mitte programmeerida seda loogikat, vaid automaatselt m\u00e4\u00e4rata piir p\u00e4ringute ja nende jaotamise vahel.<\/p>\n<h3>Boti testimine ja avaldamine<\/h3>\n<p>\nTestimiseks kasutatakse veel \u00fchte kohaliku rakenduse <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/microsoft\/botframework-sdk#Bot-Framework-Emulator\">Bot framework emulator<\/a><\/noindex>. Emulaatori abil saab suhelda botiga ja kontrollida saadetud ja saadud s\u00f5numeid. Emulaator kuvab s\u00f5numid nii, nagu nad ilmuvad veebivestluse liideses, ja registreerib p\u00e4ringud ja vastused JSON-formaadis s\u00f5numite vahetamisel botiga.<\/p>\n<p>Emulaatori kasutamise n\u00e4ide on esitatud selles demonstreerimises, kus n\u00e4idatakse BMW virtuaalse assistendi loomist. Videos r\u00e4\u00e4gitakse ka uutest kiirenditest, mis aitavad luua juturoboteid \u2014 mallidest:<\/p>\n<p><img decoding=\"async\" alt=\"Kiirendame arendust Azure teenuste abil: loome vestlusroboteid ja kognitiivseid teenuseid platvormi vahenditega.\" 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>Saate samuti kasutada mallide loomisel oma juturoboteid.\u00a0<br \/>\nMallid v\u00f5imaldavad mitte kirjutada t\u00fc\u00fcpilisi roboti funktsioone uuesti, vaid lisada juba valmis koodi kui \"oskust\". N\u00e4iteks v\u00f5ib tuua kalendri haldamise, kohtumiste m\u00e4\u00e4ramise jne. Valmisoskuste kood <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/microsoft\/botframework-skills\">avaldati<\/a><\/noindex> githubis.<\/p>\n<p>Testimine l\u00e4ks edukalt, robot on valmis ja n\u00fc\u00fcd tuleb see avaldada ja kanalid \u00fchendusse liita. Avaldamine toimub Azure'i vahendite abil, kanalaidena saab kasutada s\u00f5numitoojaid v\u00f5i sotsiaalmeediat. Kui vajaminevat sisestuskanalit pole, siis v\u00f5ib seda otsida vastavast GitHub'i kogukonnast.\u00a0<\/p>\n<p>Samuti vajate t\u00e4ieliku vestlusroboti loomiseks, et suhelda kasutaja ja kognitiivsete teenustega, muid Azure'i teenuseid, nagu andmebaasid, serverita (Azure Functions), samuti LogicApp teenuseid ja v\u00f5imalusel Event Grid.<\/p>\n<p><img decoding=\"async\" alt=\"Kiirendame arendust Azure teenuste abil: loome vestlusroboteid ja kognitiivseid teenuseid platvormi vahenditega.\" src=\"\/wp-content\/uploads\/2020\/06\/ad218db9267934e319e74b60b5b8c96a.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<\/p>\n<h3>Hindamine ja anal\u00fc\u00fctika<\/h3>\n<p>\nKasutajate suhtluse hindamiseks saab kasutada nii Azure Bot Service'i sisseehitatud anal\u00fc\u00fctikat kui ka spetsiaalset teenust Application Insights.<\/p>\n<p>Tulemuseks on v\u00f5imalik koguda teavet j\u00e4rgmiste kriteeriumide alusel:<\/p>\n<ul>\n<li>Kui palju kasutajaid sai robotile juurdep\u00e4\u00e4su erinevatest kanalitest valitud ajavahemiku jooksul.\n<\/li>\n<li>Kui palju kasutajaid, kes saatsid \u00fche s\u00f5numi, naasid hiljem ja saatsid veel \u00fche.\n<\/li>\n<li>Kui palju toiminguid oli iga kanali kaudu saadetud ja saadud m\u00e4\u00e4ratud ajavahemiku jooksul.\n<\/li>\n<\/ul>\n<p>\nApplication Insights'i abil on v\u00f5imalik j\u00e4lgida mis tahes rakendusi Azure's, sealhulgas vestlusroboteid, saades lisateavet kasutajate k\u00e4itumise, koormuste ja roboti reageeringute kohta. Tuleb m\u00e4rkida, et Application Insights teenusel on oma liides Azure'i portaalis.<\/p>\n<p>Samuti saab selle teenuse kaudu kogutud andmeid kasutada lisavisualiseerimise ja anal\u00fc\u00fcsiraportite loomiseks PowerBI's. Sellise raporti n\u00e4idise ja PowerBI templi v\u00f5ib leida <noindex><a rel=\"nofollow\" href=\"https:\/\/microsoft.github.io\/botframework-solutions\/solution-accelerators\/tutorials\/view-analytics\/1-intro\/\">siin<\/a><\/noindex>.<\/p>\n<p><img decoding=\"async\" alt=\"Kiirendame arendust Azure teenuste abil: loome vestlusroboteid ja kognitiivseid teenuseid platvormi vahenditega.\" src=\"\/wp-content\/uploads\/2020\/06\/f11895acd918e511455c56616aeb107a.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nK\u00f5igile t\u00e4nud t\u00e4helepanu eest! Selles artiklis kasutasime <noindex><a rel=\"nofollow\" href=\"https:\/\/webinars.softline.com\/mira\/miravr\/9848571835\">artikkel<\/a><\/noindex> Microsoft Azure arhitekti Anna Fenjushina veebinarist \"Kui inimesed ei j\u00f5ua. Kuidas kasutada 100% vestlusroboteid ja kognitiivseid teenuseid rutiinsete protsesside automatiseerimiseks\", kus n\u00e4itasime visuaalselt, mis on Azure'is vestlusrobotid ja millised on nende kasutusstsenaariumid, ning demonstreerisime, kuidas 15 minutiga luua robot QnA Maker'is ja kuidas p\u00e4ringute struktuur LUIS'es lahti kirjutatakse.\u00a0<\/p>\n<p>Me tegime selle veebiseminari Dev Bootcampi arendajate online-maratoni raames. Sel teemal r\u00e4\u00e4kisime toodetest, mis kiirendavad arendust ja leevendavad osa rutiinsest koormusest ettev\u00f5tte t\u00f6\u00f6tajatele automatiseerimist\u00f6\u00f6riistade ja eelnevalt seadistatud Azure moodulite abil. Muude maratonisse kuuluvate veebiseminaride salvestused on saadaval linkide kaudu:<\/p>\n<ul>\n<li><noindex><a rel=\"nofollow\" href=\"https:\/\/webinars.softline.com\/mira\/miravr\/1844543042\">Azure DevOps kui vahend arenduse t\u00e4isringi korraldamiseks igas keeles ja igal platvormil, kasutades DevOps praktikad<\/a><\/noindex>\u00a0<br \/>\nR\u00e4\u00e4gime Azure DevOps teenuse evolutsioonist ja uutest v\u00f5imalustest. S\u00fcgavale minek viie peamise komponendi ja sellele, kuidas teenus toetab t\u00f6\u00f6stusliku tarkvaraarenduse korraldamist. Esineja \u2014 Vladimir Gusarov, Microsoft MVP.<\/li>\n<li><noindex><a rel=\"nofollow\" href=\"https:\/\/webinars.softline.com\/mira\/miravr\/3765774186\">CI\/CD korraldamine Azure Pipelines'i abil<\/a><\/noindex><br \/>\nVaatame, kuidas ellu viia \"koodiga kogumine\" l\u00e4henemist igasuguste programmeerimiskeelte jaoks, kasutades multi-stage YAML pipelines. Esineja \u2014 Vladimir Gusarov, Microsoft MVP.<\/li>\n<li><noindex><a rel=\"nofollow\" href=\"https:\/\/webinars.softline.com\/mira\/miravr\/0241941537\">Mitme toote versiooni samaaegne toetamine t\u00f6\u00f6stuslikus arenduses Azure Repos'i kasutades<\/a><\/noindex><br \/>\nArutame, kuidas v\u00e4lja t\u00f6\u00f6tada tarkvara l\u00e4htekoodi salvestamise strateegiaid ja kuidas kasutada versioonihalduss\u00fcsteeme Azure Repos'i abil. Esineja \u2014 Vladimir Gusarov, Microsoft MVP.<\/li>\n<li><noindex><a rel=\"nofollow\" href=\"https:\/\/webinars.softline.com\/mira\/miravr\/7191200961\">WhiteSource. Turvaliste avatud l\u00e4htekoodiga raamatukogude monitooring\u00a0<\/a><\/noindex><br \/>\nTutvustame open source'i haldamise metoodikaid arenduses ning WhiteSource'i t\u00f6\u00f6riista praktilist kasutamist. R\u00e4\u00e4gime haavatavuste leidmisest avatud l\u00e4htekoodiga komponentides ja litsentside j\u00e4rgimise tagamisest WhiteSource'i abil. Esinejad \u2014 Diana Lisbaron, WhiteSource'i m\u00fc\u00fcgijuht, ja Darya Oreshkina, Web Control, WhiteSource'i ametlik edasim\u00fc\u00fcja Venemaal.<\/li>\n<\/ul>\n<p>Allikas: <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.1.1 - 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\/et\/blog\/administrirovanie\/uskoryaem-razrabotku-s-pomoshhyu-servisov-azure-sozdaem-chat-boty-i-kognitivnye-sluzhby-sredstvami-platformy\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.1.1\" \/>\n\t\t<meta property=\"og:locale\" content=\"et_EE\" \/>\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\/et\/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\udd47Kiirendame arendust Azure teenuste abil: loome vestlusrakendusi ja kognitiivseid teenuseid platvormi vahenditega | ProHoster","description":"Tere, Habr! T\u00e4na r\u00e4\u00e4gime, kuidas Azure abil lahendada \u00fclesandeid, mis tavaliselt n\u00f5uavad inimeste sekkumist.","canonical_url":"https:\/\/prohoster.info\/et\/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":"et_EE","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\/et\/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\/et\/wp-json\/wp\/v2\/posts\/86861","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/comments?post=86861"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/posts\/86861\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/media\/86862"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/media?parent=86861"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/categories?post=86861"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/tags?post=86861"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}