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…?
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.