Diese Präsentation wurde erfolgreich gemeldet.
Wir verwenden Ihre LinkedIn Profilangaben und Informationen zu Ihren Aktivitäten, um Anzeigen zu personalisieren und Ihnen relevantere Inhalte anzuzeigen. Sie können Ihre Anzeigeneinstellungen jederzeit ändern.
Nächste SlideShare
What to Upload to SlideShare
What to Upload to SlideShare
Wird geladen in …3
×
1 von 38

Build a ChatBot in 10 minutes!

2

Teilen

Herunterladen, um offline zu lesen

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

Ähnliche Bücher

Kostenlos mit einer 30-tägigen Testversion von Scribd

Alle anzeigen

Ähnliche Hörbücher

Kostenlos mit einer 30-tägigen Testversion von Scribd

Alle anzeigen

Build a ChatBot in 10 minutes!

  1. 1. Build a ChatBot in 10 Minutes! Serverless Summit 2017, Bangalore @dwmkerr #inserverless Dave Kerr Senior Expert, McKinsey & Company
  2. 2. …or… chatbot jugaad! @dwmkerr #inserverless
  3. 3. Thank-you to the organisers and sponsors!
  4. 4. Who am I? @dwmkerr #inserverless
  5. 5. I am a technology consultant. @dwmkerr #inserverless
  6. 6. Which is closer to this… @dwmkerr #inserverless
  7. 7. What am I going to talk about? @dwmkerr #inserverless
  8. 8. Chatbots! @dwmkerr #inserverless Perfect for serverless technology. Today is about fun, not ROI!
  9. 9. …I’ve got to come clean about something… @dwmkerr #inserverless
  10. 10. …I know almost nothing about chatbots! @dwmkerr #inserverless
  11. 11. Lawrence Hunt, Selin Lanzafame, Dave Kerr
  12. 12. Introducing Lex @dwmkerr #inserverless
  13. 13. “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
  14. 14. Say what? @dwmkerr #inserverless
  15. 15. Let’s see it in action! @dwmkerr #inserverless
  16. 16. Demo 1: Get a boring-bot running https://github.com/dwmkerr/lex-starter-kit refs/heads/demo1 @dwmkerr #inserverless
  17. 17. We setup the project with make setup @dwmkerr #inserverless
  18. 18. We can deploy lex models with make deploy
  19. 19. Here’s how our conversation looks so far @dwmkerr #inserverless
  20. 20. Getting Input @dwmkerr #inserverless
  21. 21. Most conversations need input! @dwmkerr #inserverless
  22. 22. Demo 2: Getting Input with Slots https://github.com/dwmkerr/lex-starter-kit refs/heads/demo2 @dwmkerr #inserverless
  23. 23. We configure the environment with make config
  24. 24. We can deploy lex models with make deploy
  25. 25. Our conversation flow is now more complete
  26. 26. Cool kids use the shell for everything github.com/dwmkerr/effective-shell @dwmkerr #inserverless
  27. 27. Intermission: Using lex-chat https://github.com/dwmkerr/lex-chat @dwmkerr #inserverless
  28. 28. Using sessions to manage conversation state @dwmkerr #inserverless
  29. 29. Sometimes we have state which we build up over a conversation… @dwmkerr #inserverless
  30. 30. Demo 3: Sessions https://github.com/dwmkerr/lex-starter-kit refs/heads/demo3 @dwmkerr #inserverless
  31. 31. Use the session to persist conversation state between intents
  32. 32. This gets complex! When do you clear a session? At least you save time on the scripting  @dwmkerr #inserverless
  33. 33. 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
  34. 34. Thanks! @dwmkerr dwmkerr.com github.com/dwmkerr linkedin.com/in/dwmkerr
  35. 35. Appendices @dwmkerr #inserverless
  36. 36. 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

Notizen

  • I do three things:
    Advise on strategy, typical McKinsey stuff
    Lead our engineering practice
    A lot of coding
  • Lessons Learned: 2 mins
    23/25 mins

    You cannot simply transplant existing projects onto a platform like kubernetes and expect it to scale.

    Anecdote: a week of time lost while the team try and get a complex multi-database solution working on Kubernetes, a day to run it on VMs.

    Lesson: Know what works. Stateless, or self organising homogenous nodes
  • 5m mark:
    Serving clients across the world, deploying in airports, writing code.
  • Show the readme
    Setup the environment variable
    Create the infrastructure
    Show the bucket and function
    Show the lambda function, no invocations
    Show the role and policy, you’ll be glad you have it!
  • Demo:
    0. show the README and table
    show how there is a makefile in each project
    run the first two makefiles
    Show the circle file
    Show the travis file
  • Show the readme
    Setup the environment variable
    Create the infrastructure
    Show the bucket and function
    Show the lambda function, no invocations
    Show the role and policy, you’ll be glad you have it!
  • Demo:
    0. show the README and table
    show how there is a makefile in each project
    run the first two makefiles
    Show the circle file
    Show the travis file
  • Lessons Learned: 2 mins
    23/25 mins

    You cannot simply transplant existing projects onto a platform like kubernetes and expect it to scale.

    Anecdote: a week of time lost while the team try and get a complex multi-database solution working on Kubernetes, a day to run it on VMs.

    Lesson: Know what works. Stateless, or self organising homogenous nodes
  • Show the readme
    Setup the environment variable
    Create the infrastructure
    Show the bucket and function
    Show the lambda function, no invocations
    Show the role and policy, you’ll be glad you have it!
  • ×