IBM Watson gives Voice to SAP Leonardo!

During the SAPPHIRE May’17, Orlando, Florida when SAP published their first set of Machine Learning APIs, I was really excited and wanted to be one of the early to try it out. We all do stand in the queue to be early for lot of things, right? Anyway, while thinking about a quick demo scenario the first thing that came to my mind is to make Leonardo speak and let the world know about some of his features! but the current set of APIs do not include dialog/conversation related features. So, what next??

Hey!! Why not IBM Watson can lend his voice to Leonardo? SAP and IBM being involved in so many joint ventures and initiatives for decades, so why not the IBM Watson and SAP Leonardo become buddies and go hand in hand to help each other overcome this limitation?

IBM Watson being in the market for a long time already offering a very robust set of cognitive APIs including Visual Recognition, Natural Language Classifier, Retrieve and Rank, Speech to Text/Text to Speech, Conversation, Language Translator, Personality Insight, Document Conversion, Tone Analyzer etc. and out of all these APIs we will leverage IBM Conversation service to give voice to SAP Leonardo’sTranslation API. Even though Watson already supports language translation in multiple languages but just for the sake of this demo we will leverage Leonardo’sTranslation API.

IBM Conversation allows you to quickly build, test and deploy a bot or virtual agent across mobile devices, messaging platforms like Slack or even on a physical robot. Conversation has a visual dialog builder to help you create natural conversations between your apps and users, without any coding experience required.

Oh!! I forgot to mention you the venue of this friendship meet is none other than IBM Watson’s own house @Bluemix. Just kidding – basically we will leverage IBM Bluemix platform to develop a Node Red Cloud Foundry application leveraging the Watson Conversation & Leonardo’sTranslation API and Telegram Chat Bot

Step-by-step

To try this demo, first you need to have a IBM Bluemix Account which you can create very easily following link: https://console.ng.bluemix.net/registration/ – Once logged in you are all set to follow the steps. Also download Telegram app on your phone.

Create a new chat bot on Telegram’s BotFather

Run the Telegram app

Search for @BotFather at the search bar on top and select it

Search for @BotFather

send /newbot command / message to BotFather

Enter the name and username of your bot

Once created, you’ll be given a token string which will be needed to configure telegram node inside Node-Red (as shown below)

Create a Node-RED app

Click Create App

Search and select Node-RED Stater boilerplate

App name: WatsonNDLeonardo

Host name: WatsonNDLeonardo <your_initials>

Once the app has been started, click View app or go to the url of the app directly

Click on the Go to your Node-RED flow editor or add /red path to the url to view the Node-RED flow. For example: http://<>.mybluemix.net/red/

Click on the top-right menu and select Manage palette

Click on the Install tab

Enter node-red-contrib-chatbot on the search module textbox and click install