PortiBlog

Jouw eigen chatbot gebruiken in Teams

2 juni 2020

In mijn vorige blog ben ik ingegaan op hoe je chatbot kunt klaarzetten. Nu je weet hoe makkelijk het is om een chatbot te maken met QnAMaker, is de volgende stap natuurlijk jouw chatbot gebruiken in Microsoft Teams. In deze blog laat ik zien hoe je eenvoudig jouw chatbot kunt koppelen aan Microsoft Teams.

Teams Apps

In teams kun je chatbots installeren door ze als App toe te voegen. We zullen dus allereerst en Teams App moeten maken. Een teams app bestaat uit een zip met daarin een stukje configuratie. Gelukkig is er ook een stukje tooling om dit te doen zonder te hoeven programmeren. Microsoft heeft namelijk een App gemaakt om Apps te maken voor Teams: De App Studio.

Installeer de App Studio als hij nog niet beschikbaar is. Je doet dit eenvoudig door naar de store te navigeren en te zoeken op ‘app studio’.

20200602-PortiBlog-chatbot-image01

Als de app is geïnstalleerd, kun je er naartoe navigeren en krijg je een mogelijkheid om vragen te stellen aan een chatbot, maar ook om een aantal andere acties te doen. Boven in het menu zie je Manifest Editor staan. Hiermee kun je eenvoudig zelf Apps configureren.

20200602-PortiBlog-chatbot-image02

In de Manifest editor kun je met behulp van de knop Create a new app een nieuwe app maken en configureren.

20200602-PortiBlog-chatbot-image03

In het scherm om de app te maken moet je verschillende velden invullen. Zorg dat de volgende velden minimaal zijn gevuld:

  • Short name (deze wordt later nog gebruikt)
  • Full name
  • App ID (gebruik de knop Generate)
  • Short description
  • Full description
  • Name
  • Website
  • Privacy statement (mag een niet bestaande URL zijn als de app intern blijft)
  • Terms of Use (mag een niet bestaande URL zijn als de app intern blijft)

20200602-PortiBlog-chatbot-image04

Kies vervolgens in het linker menu voor Bots en daarna voor Set up om de app uit te breiden met een chatbot.

20200602-PortiBlog-chatbot-image05

Kies voor daarna voor Existing bot en select from one of my existing bots. Kies daarbij de chatbot die is aangemaakt met QnAMaker. In het scope venster mogen alle drie de opties aangevinkt worden:

  • Personal
  • Team
  •  Group chat

En klik daarna op Save.

20200602-PortiBlog-chatbot-image06

Als alles goed is gegaan worden er automatisch een aantal velden ingevuld, waaronder het password en het messaging endpoint.

20200602-PortiBlog-chatbot-image07

Als dit niet het geval is, klik dan boven in op Delete en herhaal de stappen.

Kies als laatste in het linker menu voor test and distribute om de app af te ronden. Je kunt direct klikken op Install als je de app alleen zelf hoeft te gebruiken. Als je ook wil dat anderen er gebruik van kunnen maken moet je klikken op Download.

20200602-PortiBlog-chatbot-image08

Sla de zip op een centrale plek op zodat je er makkelijk bij kunt. Klik vervolgens linksonder op Apps (alleen zichtbaar voor Teams beheerders). En kies voor Upload for Organization, blader naar de zip die zojuist is gemaakt om de App beschikbaar te maken voor alle teams.

20200602-PortiBlog-chatbot-image09

Als je de app hebt geïnstalleerd kun je hem eenvoudig gebruiken in teams. Onder de drie puntjes in het scherm komt de nieuwe app zichtbaar voor iedereen. Eventueel kun je de app ook toevoegen aan bestaande teams. Als je hem toevoegt als app in een team kun je chatten in groepsgesprekken en je Bot mentionen als je er een vraag aan wilt stellen.

20200602-PortiBlog-chatbot-image10

Groepsgesprekken vereisen een stukje code 

Zoals elke chatbot zijn de resultaten afhankelijk van wat hij weet. In het geval van een QnAMaker chatbot ben je afhankelijk van de Knowledge base die je zelf hebt ingevuld. Zo kan het dus zijn dat hij antwoorden niet kan geven. In dat geval krijg je netjes een melding met “No QnAMaker answers found”. Maar je zult al snel ontdekken dat dit ook altijd gebeurt in groepsgesprekken.

20200602-PortiBlog-chatbot-image11

Om dit op te lossen moet je een heel klein beetje code schrijven. Als je in een groepsgesprek je chatbot aanroept geeft hij namelijk wat extra informatie mee. Deze extra informatie wordt vervolgens ook aan QnAMaker doorgegeven. En QnAMaker weet niet wat hij met deze informatie moet, dus de kans dat hij antwoord kan vinden is opeens heel klein. Gelukkig hoef je niet veel moeite te doen om de code uit te breiden.

  • Navigeer naar de Web-App-Bot in Azure en kies voor Build.

20200602-PortiBlog-chatbot-image12

  • Kies voor Open online code editor.

20200602-PortiBlog-chatbot-image13

  • Open het bestand QnABot.cs en scroll naar regel 38.

20200602-PortiBlog-chatbot-image14

  • Voeg daar de volgende code in:
    var requestMessage = turnContext.Activity.Text.Replace("<at>Portiva QnA</at>", string.Empty);
    turnContext.Activity.Text = requestMessage;
  • Let op dat je tussen <at></at> de naam van jouw chatbot invult zoals je hem in het Teams package hebt genoemd.
  • Klik vervolgens in het linker menu op het console icoontje.

20200602-PortiBlog-chatbot-image15

  • Typ in het scherm build.cmd om de code te compileren en te laten opslaan.

20200602-PortiBlog-chatbot-image16

Het compileren duurt een paar seconden, maar daarna is de chatbot gelijk klaar en bijgewerkt. Je kunt vanaf dat moment ook in groepsgesprekken met de bot communiceren. Je chatbot is nu echt klaar voor gebruik. Hij bevat de nodige vragen en antwoorden en je kunt hem in elk team aanbieden, en zelfs in groepsgesprekken aanroepen.

Chatbot bijwerken

In de volgende blog gaan we verder in hoe je kunt zorgen dat je geen missende antwoorden hebt, en eenvoudig je chatbot nieuwe dingen kunt leren. Op die manier weet je zeker dat de chatbot nuttig blijft!

Submit a comment