$30 off During Our Annual Pro Sale. View Details »

Build a ChatBot in 10 minutes!

Dave Kerr
October 27, 2017

Build a ChatBot in 10 minutes!

Use serverless technology such as AWS Lambda to build a chatbot with AWS Lex

Dave Kerr

October 27, 2017

More Decks by Dave Kerr

Other Decks in Technology


  1. Build a ChatBot in 10 Minutes! Serverless Summit 2017, Bangalore

    @dwmkerr #inserverless Dave Kerr Senior Expert, McKinsey & Company
  2. …or… chatbot jugaad! @dwmkerr #inserverless

  3. Thank-you to the organisers and sponsors!

  4. Who am I? @dwmkerr #inserverless

  5. I am a technology consultant. @dwmkerr #inserverless

  6. None
  7. Which is closer to this… @dwmkerr #inserverless

  8. None
  9. What am I going to talk about? @dwmkerr #inserverless

  10. Chatbots! @dwmkerr #inserverless Perfect for serverless technology. Today is about

    fun, not ROI!
  11. …I’ve got to come clean about something… @dwmkerr #inserverless

  12. …I know almost nothing about chatbots! @dwmkerr #inserverless

  13. Lawrence Hunt, Selin Lanzafame, Dave Kerr

  14. Introducing Lex @dwmkerr #inserverless

  15. “Amazon Lex is an AWS service for building conversational interfaces

    for any applications using voice and text. With Amazon Lex, the same conversational engine that powers Amazon Alexa is now available to any developer, enabling you to build sophisticated, natural language chatbots into your new and existing applications. Amazon Lex provides the deep functionality and flexibility of natural language understanding (NLU) and automatic speech recognition (ASR) so you can build highly engaging user experiences with lifelike, conversational interactions, and create new categories of products.” @dwmkerr #inserverless
  16. Say what? @dwmkerr #inserverless

  17. Let’s see it in action! @dwmkerr #inserverless

  18. Demo 1: Get a boring-bot running https://github.com/dwmkerr/lex-starter-kit refs/heads/demo1 @dwmkerr #inserverless

  19. We setup the project with make setup @dwmkerr #inserverless

  20. We can deploy lex models with make deploy

  21. Here’s how our conversation looks so far @dwmkerr #inserverless

  22. Getting Input @dwmkerr #inserverless

  23. Most conversations need input! @dwmkerr #inserverless

  24. Demo 2: Getting Input with Slots https://github.com/dwmkerr/lex-starter-kit refs/heads/demo2 @dwmkerr #inserverless

  25. We configure the environment with make config

  26. We can deploy lex models with make deploy

  27. Our conversation flow is now more complete

  28. Cool kids use the shell for everything github.com/dwmkerr/effective-shell @dwmkerr #inserverless

  29. Intermission: Using lex-chat https://github.com/dwmkerr/lex-chat @dwmkerr #inserverless

  30. Using sessions to manage conversation state @dwmkerr #inserverless

  31. Sometimes we have state which we build up over a

    conversation… @dwmkerr #inserverless
  32. Demo 3: Sessions https://github.com/dwmkerr/lex-starter-kit refs/heads/demo3 @dwmkerr #inserverless

  33. Use the session to persist conversation state between intents

  34. This gets complex! When do you clear a session? At

    least you save time on the scripting J @dwmkerr #inserverless
  35. Bootstrap your bots, and join in for the next set

    of features! github.com/dwmkerr/lex-starter-kit github.com/dwmkerr/lex-chat @dwmkerr #inserverless
  36. Thanks! @dwmkerr dwmkerr.com github.com/dwmkerr linkedin.com/in/dwmkerr

  37. Appendices @dwmkerr #inserverless

  38. Tips and Tricks • Question marks in intent utterances will

    break Lex! • Train with realistic data • Complicated or very variable slots are very hard to work with (e.g. sentences), consider using cards • Encrypt sensitive environment variables such as keys when using lambda functions @dwmkerr #inserverless