Een chatbot bouwen voor hotelboeking

Bot-service
Taalbegrip
Externe identiteiten in Active Directory
App Service
Cognitive Services

Dit voorbeeldscenario is in het algemeen van toepassing op bedrijven die een conversationele chatbot willen integreren in toepassingen. Dit scenario toont met name een C#-chatbot voor een hotel, zodat klanten de beschikbaarheid kunnen controleren en boeken kunnen boeken via een web- of mobiele toepassing.

Naast het boeken van een hotel kan deze chatbot worden gebruikt in een breed scala aan commerce-instellingen. Met de chatbot kunnen klanten bijvoorbeeld het take-outmenu van het restaurant bekijken en een bestelling plaatsen. Of de chatbot kan klanten van een studio in staat stellen om afdrukken te zoeken en te bestellen. Van oudsher huren en trainen bedrijven klantenservicemedewerkers om te reageren op dit soort klantaanvragen. Als gevolg hiervan wachten klanten totdat er een vertegenwoordiger beschikbaar is om hulp te bieden.

Met Azure Bot Service en Language Understandingof Speech-services kunnen bedrijven schaalbare bots gebruiken om veelvoorkomende aanvragen van klanten te verwerken.

Architectuur voor hotelboekingsbot

Architectuuroverzicht: conversationele chatbot en de Azure-onderdelen die betrokken zijn bij een conversationele chatbot

Dit scenario heeft betrekking op een gespreksbot die fungeert als een concierge voor een hotel. De gegevens stromen als volgt door het scenario:

  1. De klant heeft toegang tot de chatbot met een mobiele app of web-app.
  2. Met Azure Active Directory (Azure AD) B2C (business-to-consumer) wordt de klant geverifieerd.
  3. Interactie met de Bot Service, vraagt de klant informatie op over de beschikbaarheid van hotels.
  4. Cognitive Services aanvraag in natuurlijke taal verwerkt om inzicht te krijgen in de communicatie van de klant.
  5. Nadat de klant tevreden is met de resultaten, voegt de bot de reservering of reservering toe of werkt deze bij in SQL database.
  6. Application Insights verzamelt gedurende het hele proces runtimetelemetrie om het DevOps-team te helpen de prestaties en het gebruik van bots te verbeteren.

Onderdelen

  • Azure Active Directory (Azure AD) is de multitenant cloudgebaseerde directory- en identiteitsbeheerservice van Microsoft. Azure AD ondersteunt een B2C-connector waarmee u gebruikers kunt identificeren op basis van hun externe identiteiten, zoals Google, Facebook of een Microsoft-account.
  • App Service kunt u webtoepassingen bouwen en hosten in de programmeertaal van uw keuze zonder infrastructuur te beheren.
  • Bot Service biedt hulpprogramma's voor het bouwen, testen, implementeren en beheren van intelligente bots.
  • Cognitive Services kunt u intelligente algoritmen gebruiken om de behoeften van uw gebruikers te zien, horen, spreken, begrijpen en interpreteren via natuurlijke communicatiemethoden.
  • SQL Database is een volledig beheerde relationele clouddatabaseservice die compatibiliteit SQL Server engine biedt.
  • Application Insights is een extensible Application Performance Management-service (APM) waarmee u de prestaties van toepassingen, zoals uw chatbot, kunt bewaken.

Andere onderdelen die kunnen worden gebruikt om dit voorbeeldscenario te verbeteren, zijn:

  • Speech-API om de interface van klanten met uw bot te wijzigen.
  • QnA Maker om snel kennis aan uw bot toe te voegen op basis van semi-gestructureerde inhoud, zoals veelgestelde vragen.
  • Vertalen Text as a Service om eenvoudig meertalige ondersteuning aan uw bot toe te voegen.

Overwegingen

Beschikbaarheid

In dit scenario wordt Azure SQL Database voor het opslaan van klantreserveringen. SQL Database omvat zone-redundante databases, failovergroepen en geo-replicatie. Zie beschikbaarheidsmogelijkheden voor Azure SQL Database meer informatie.

Schaalbaarheid

In dit scenario wordt gebruikgemaakt Azure App Service. Met App Service kunt u automatisch het aantal exemplaren schalen dat uw bot uitvoeren. Met deze functionaliteit kunt u voldoen aan de vraag van klanten naar uw webtoepassing en chatbot. Zie Best practices voor automatisch schalen in de Azure Architecture Center.

Zie voor andere artikelen over schaalbaarheid de controlelijst voor prestatie-efficiëntie in de Azure Architecture Center.

Beveiliging

In dit scenario wordt Azure Active Directory (Azure AD) B2C, een business-to-consumer-service voor identiteitsbeheer, gebruikt om gebruikers te verifiëren. Met Azure AD B2C worden in uw chatbot geen gevoelige accountgegevens of referenties van klanten opgeslagen. Zie overzicht van Azure AD B2C voor meer informatie.

Informatie die is opgeslagen in Azure SQL Database wordt in rust versleuteld met TDE (Transparent Data Encryption). SQL Database biedt ook een Always Encrypted waarmee gegevens tijdens het uitvoeren van query's en verwerking worden versleuteld. Zie Beveiliging en naleving SQL Database meer informatie Azure SQL Database beveiliging en naleving.

Zie de Azure-beveiligingsdocumentatie voor algemene richtlijnen voor het ontwerpen van beveiligde oplossingen.

Flexibiliteit

In dit scenario wordt Azure SQL Database voor het opslaan van klantreserveringen. SQL Database omvat zone-redundante databases, failovergroepen, geo-replicatie en automatische back-ups. Met deze functies kan uw toepassing blijven werken als er een onderhoudsgebeurtenis of -storing is. Zie beschikbaarheidsmogelijkheden voor Azure SQL Database meer informatie.

Voor het bewaken van de status van uw toepassing wordt in dit scenario gebruikgemaakt van Application Insights. Met Application Insights kunt u waarschuwingen genereren en reageren op prestatieproblemen die van invloed zijn op de klantervaring en beschikbaarheid van de chatbot. Zie Wat is Application Insights? voor meer Insights?

Zie Betrouwbare Azure-toepassingen ontwerpen voor andere artikelen over tolerantie.

Het scenario implementeren

U moet een bestaand Azure-account hebben. Als u nog geen abonnement op Azure hebt, maak dan een gratis account aan voordat u begint.

Dit scenario is onderverdeeld in drie onderdelen voor een eenvoudigere verkenning:

  • Infrastructuuronderdelen:gebruik een Azure Resource Manager-sjabloon voor het implementeren van de belangrijkste infrastructuuronderdelen van een App Service,Web App, Application Insights, Storage-account en SQL Server en database. Voer de volgende stappen uit.

    1. Gebruik de onderstaande koppeling om de oplossing te implementeren.

      Deze oplossing implementeren in Azure

    2. Wacht tot de sjabloonimplementatie is geopend in Azure Portal en volg de instructies in de gebruikersinterface om de implementatie te maken. Opgeven:

      • Een resourcegroepnaam zoals myCommerceChatBotInfrastructure.
      • Selecteer een regio.
      • Geef een gebruikersnaam en veilig wachtwoord op voor het SQL Server beheerdersaccount.

      Het duurt enkele minuten voordat de implementatie is voltooid.

  • Chatbot voor web-apps:als u Azure CLI wilt gebruiken om een bot te implementeren met de Bot Service, zie Deploy your bot (Uw bot implementeren). Om Language Understanding en Intelligent Services (LUIS) toe te voegen aan de bot.

  • Voorbeeld van C#-chatbottoepassing:gebruik Visual Studio om de C#-voorbeeldtoepassing te controleren op GitHub. De voorbeeldtoepassing bevat de Azure Active Directory-verificatieonderdelen en integratie met het Language Understanding- en Intelligent Services-onderdeel (LUIS) van Cognitive Services. De toepassing vereist Visual Studio om het scenario te bouwen en te implementeren. Meer informatie over het configureren Azure AD B2C en de LUIS-app vindt u in de documentatie GitHub de repo.

Prijzen

Gebruik de Azure-prijscalculator om de kosten van het uitvoeren van dit scenario te verkennen. Als u wilt zien hoe de prijzen voor verschillende use cases veranderen, wijzigt u de servicevariabelen zo dat ze overeenkomen met het verwachte verkeer. Denk bijvoorbeeld aan drie kostenprofielen op basis van het aantal berichten dat uw chatbot verwacht te verwerken:

  • Klein: < 10.000 berichten per maand verwerken.
  • Gemiddeld, < 500.000 berichten per maand verwerken.
  • Groot, < 10 miljoen berichten per maand verwerken.

Volgende stappen

Azure Architecture Center artikelen over chatbot-architecturen:

Azure Bot Service productdocumentatie:

Microsoft Learn modules: