Chatbots w/Amazon Lex

Recently, I attended a learning event put on by a local developer group: DevICT, which is a community for local developers in Wichita, KS.  The topic was Amazon Lex, a chat platform that you use to build your own chat bots.  Then these bots can respond to either text or voice from users and do useful things based on the outcomes of those interactions.

Setting up Lex is pretty straightforward.  After logging in to your AWS Console, you can navigate to the Lex product and it brings up your list of bots and controls to create new ones.  Once you’ve created a new bot, you’ll need to define Intents and Slots.  To put this in programmer parlance, if you think of your bot as an API framework or class, you could define Intents as methods and Slots as arguments.

For my bot’s first Intent, I took inspiration from a recent trip to the Jelly Belly jelly bean factory in California.  (The tour is free and great for the short people: i.e. kiddos)  So, I created an Intent called ‘IWantAJellyBean’ and seeded some phrases that would prompt the bot to start asking questions to fill in all the Slots.  This is the bridge between plain language and something the API can understand and the platforms language processing can imply the correct intent based on what you say or type.

Next, for my Slot, I created a short list of flavors.  This essentially acts as a type for fulfillment of the Intent.  When the Intent is invoked, a prompt that you configure in the framework adds a prompt to the chat to gather additional information from the customer.

Once all the information is gathered via the chat, the bot prompts one more time to confirm fulfillment of the order.  The confirmation is defined by the developer and you can determine the outcome based on the customer’s response.  Then, you can choose to trigger an event based on what happens as a result of the chat.  You can even leverage an AWS Lambda to take the results of the chat and trigger downstream activity.

Next comes the fun part: Talking to your bot!  This is mostly a debugging step but I was really impressed by how I was able to just use voice to walk through the test.  It’s very easy to see the potential of this platform to automate interactions with individuals and trigger requests or other business logic in your infrastructure.

I want to thank the individuals at DevICT for a fun and interesting learning experience.  If you happen to be in the Wichita area, I would highly suggest stopping by for their events, which can be found on Meetup or Facebook.

I’m interested in your experiences with Lex and AWS in general.  As always, if you have any questions or comments, please feel free to add them here or address them to john@benedettitech.com.

Thanks for looking in!

Changing Jobs

“… we live in a real world, where the line between prosperity and destitution can be as thin as the bankruptcy of Lehman Brothers or a factory closure.” – In Praise of Lando

A funny thing happened to me on the way to this summer, I left my job of 11 years to pursue a new opportunity.   To be honest, I was content and challenged in my previous role and on a pretty solid path.  But sometimes when an opportunity presents itself, you have to weigh the options and take a chance.  The key question is, are any of us really prepared to honestly explore a new opportunity in good faith?  How many of us are really thinking beyond the here and now?

In principle, we should always be assessing our proficiencies and interests on a regular basis.  All too frequently, we are just trying to make it to the end of our to-do list so we can unplug.  Even worse, sometimes we’re just trying not to lose ground or hoping that an unforeseen crisis doesn’t force our hand.  Working hard and executing might get you through the short term, but it isn’t enough.  Taking a step back to ensure you’re doing the right work is crucial to long term growth and success. This doesn’t just apply to individuals, but to organizations of any scale.

When Seth Godin warned us to “Dig your well before you’re thirsty,” he’s challenging our inherent complacency and tendency to coast and accept what’s handed to us.  Life is replete with black swan moments.  Do you seek them out?  Do you dread them?  I’m starting to think the main question is, what might be holding you back from making any change at all?  It’s one thing to miss or pass on an opportunity.  It’s something else entirely to be so overextended and brittle that the slightest disruption brings everything down.

When I first started out writing BASIC and soldering electronics, the World Wide Web wasn’t even a thing.  Since then, entire technologies have been born and become obsolete. What do you do to keep current and be ready for the next thing?

As always, if you have any questions or comments, please feel free to add them here or address them to john@benedettitech.com.

Thanks for looking in!