Featured image of post Bluemix: Where Python and Watson are in a Dialog

Bluemix: Where Python and Watson are in a Dialog

Right now I am working on a side project to hook up the Watson Dialog Service on Bluemix with dashDB and DB2. The idea is to dynamically feed data from DB2 into a conversation bot. To register and manage dialogs with the Watson Dialog Service, there is a web-based dialog tool available. But there is also a dialog API and a Python SDK for the Watson services available. So why not manage the dialogs from the command line…?

Converse with Watson from the Command Line

Here is a small overview of my Python client that helps to register, update, delete and list dialogs and that can even drive a dialog (converse with Watson) from the shell window on your machine. The code and for now some short documentation is available on GitHub as watson-dialog-client.

In order to use the tool, you need to have the Watson Dialog Service provisioned on IBM Bluemix. The service credentials need to be stored in a file config.json in the same directory as the tool “henriksDialog”. The credentials look like shown here:

{
    "credentials": {
        "url": "https://gateway.watsonplatform.net/dialog/api",
        "password": "yourServicePassword",
        "username": "yourUserIDwhichIsALongString"
    }

}

The credentials are read by the tool to “chat” with the dialog service. The following commands are available:

  • register a dialog by providing a new dialog name and the XML definition file “**``` henriksDialog -r -dn dialogName -f definitionFile
* update a dialog by identifying it by its ID and providing a definition file
"**```
henriksDialog -u -id dialogID -f definitionFile
```**"
* delete a dialog identified by its ID
"**```
henriksDialog -d -id dialogID
```**"
* list all registered dialogs
"**```
henriksDialog -l
```**"
* converse, i.e., test out a registered dialog which is identified by its ID
"**```
henriksDialog -c -id dialogID
```**"


Sample invocations and their output is available in the [GitHub repository for this dialog tool](https://github.com/data-henrik/watson-dialog-client). Let me know if something is missing or you had success chatting with Watson from the command line.