DevelopmentNieuwe features in Bot Composer 2.0

Nieuwe features in Bot Composer 2.0

Steeds vaker staan wij in contact met bots, van Billy, de chatbot van bol.com die je helpt met je vragen over bestellingen, tot de receptenlijnbot bij de apotheek waar je medicijnen bestelt. Het is duidelijk dat deze technologie een blijvende plaats zal innemen in onze samenleving. Maar hoe kan een wat kleinere speler van deze technologie gebruik maken? Het ontwikkelen van een bot is een dure onderneming, of toch niet?

Met Microsofts Azure Bot Composer is deze technologie niet langer alleen voor de grote jongens maar kunnen ook MKB-bedrijven met deze technologie aan de slag. In ons vorige blog over de Bot Framework Composer omschreven we de Bot Composer als een low code oplossing waarmee 'citizen developers' zelf hun eigen bots kunnen ontwikkelen. In dit blog gaan wij in op de nieuwe ontwikkelingen omtrent de Bot Composer.

De nieuwe ontwikkelingen

Orchestrator

Vergelijkbaar met hoe wij in softwareontwikkeling te maken hebben met monolieten, kan jouw bot ook al snel een te grote en complexe codebase krijgen door verschillende dialogen. Zoals je een te grote applicatie zou kunnen opsplitsen in microservices, zo zou je een bot kunnen opsplitsen in een aantal kleinere bots voor specifieke taken. Je hebt dan bijvoorbeeld een bot die voor het maken van afspraken en een andere bot die bestellingen aanneemt. Om te voorkomen dat je nu vijf verschillende bots moet aanspreken, kun je de Orchestrator gebruiken om een gezamenlijk aanknooppunt te vormen. Deze bot verwijst onder water door naar de correcte bot. Voorheen werd deze taak vervult door de dispatcher. Waar de dispatcher veel kennis en ervaring vereiste om goed ingezet te worden, maakt de Orchestrator het makkelijk door voorgetraind te zijn. Het enige wat de Orchestrator vereist, is een paar simpele voorbeelden zodat hij zich  kan aanpassen aan jouw situatie.

Daarnaast is de Orchestrator in staat om meerdere intents (intenties) uit hetzelfde bericht te halen. Als een gebruiker bijvoorbeeld het volgende bericht zou sturen: “Ik wil met David een afspraak maken om een nieuwe gitaar te kopen”, dan is de bot in staat hier de intenties “afspraak maken” en “bestelling plaatsen” uit te halen.

Deployen en pipelines

Microsoft heeft de mogelijkheden om sneller increments op te leveren uitgebreid. Tot de voorgaande versie van de Composer kon je alleen handmatig code publiceren, waarbij eerst alle credentials via de Azure Portal moesten worden opgezocht en ingevuld. In de nieuwe versie worden publicatie profielen geïntroduceerd waarmee deployen wordt vergemakkelijkt met behulp van heldere menu's die alle benodigde credentials gelijk voor je ophalen vanuit je Azure omgeving. Verder is het mogelijk om een CI/CD pipeline op te zetten in Azure DevOps middels .YAML bestanden die kunnen worden geïmporteerd.

Bot Composer 2.0
Figuur 1: Nadat je bent ingelogd, kan je alle informatie gewoon selecteren vanuit een dropdown menu

 

Voorheen werd een bot uitgerold en ondergebracht in een webapp. Hoewel dit een goede manier is om een bot te publiceren die veel bezoek krijgt, is het nu ook mogelijk om een bot uit te rollen als een Azure Function. Dit is een voordelige oplossing, met name als je een bot hebt die voornamelijk op zeer specifieke momenten verkeer krijgt.

Packages

Bot composer 2.0
Figuur 2: Het getting started scherm geeft je handige tips en omerkingen om je applicatie te verbeteren

Tijdens het ontwikkelen van bots kan het voorkomen dat meerdere bots een zelfde flow gebruiken, zoals bijvoorbeeld een begroetingsflow. Om te voorkomen dat je deze flow steeds opnieuw moet aanmaken, kun je er nu ook een package van maken. Packages worden tevens door de community gemaakt en aangeboden en bevatten niet alleen een herhaaldelijke gebruikte dialoog met de juiste responses maar kunnen ook custom activities bevatten. Een custom activity is een mogelijkheid om nieuwe functionaliteit aan bots toe te voegen, denk bijvoorbeeld aan de mogelijkheid om JSON-bestanden te maken en te vormen en lokaal op te slaan. Packages hoeven niet per se voor iedereen beschikbaar te zijn. Ze kunnen ook lokaal of op een privé feed gepubliceerd worden.

Kleine verbeteringen

Naast deze nieuwe features zijn er ook een aantal verbeteringen voor developers doorgevoerd. Zo zijn er templates om jouw bot development te bootstrappen door alvast wat dialogen te generen en een aantal datamodellen voor veel voorkomende situaties klaar te zetten. Voor het maken van een Enterprise assistent bot heeft Microsoft al een uitgebreide template klaarstaan.

Om het ontwikkelproces te vergemakkelijken is er nu ook een started scherm in de Composer. Hierin krijg je alle stappen te zien die nodig zijn om jouw bot te kunnen deployen en aanbevelingen/tips van Microsoft om jouw bot te verbeteren.

Tot op heden was de situatie dat als er meerdere mogelijke responses waren gedefinieerd in een “Send a response blok” of “Ask a question blok”, dat je niet de opties te zien kreeg in de design canvas (het scherm waar je de flow van jouw bot definieert), maar alleen de naam van de activity. Dit is nu opgelost, je ziet nu de eerste response die je gedefinieerd hebt.

#TheEnd

In dit blog heb je kunnen lezen hoe Microsoft het proces om bots te creëren nog makkelijker heeft gemaakt. Namelijk door een aantal nieuwe mogelijkheden toe te voegen aan hun low code oplossing voor bots; de Bot Composer. Met het toevoegen van de Orchestrator is het makkelijk geworden om complexe bots te ontwikkelen en te onderhouden. Met de komst van een CI/CD pipeline kunnen bots ook volledig automatisch worden uitgerold en het uitrollen van een Bot als Azure Function maakt het goedkoper dan ooit om met bots te beginnen. Missende functionaliteit in de Bot Composer kan nu worden aangevuld met packages.

Tot slot laat Microsoft ook zien dat developers niet vergeten worden met het toevoegen van kleinere verbeteringen aan de ontwikkelomgeving.

Als deze nieuwe ontwikkelingen je enthousiast hebben gemaakt of als je geïnteresseerd bent in wat bottechnologie voor jouw bedrijf kan betekenen, neem dan contact met ons op! Gezamenlijk kunnen wij uitzoeken hoe bot technologie de service van jouw bedrijf naar een hoger plan kan tillen.

Gideon Kuijpers & Akash Aartsen – Software Developer

  • Wil jij ook dagelijks Mederne Applicaties bouwen? Bekijk vacatures!