I currently have a Watson chatbot set up and also have a DB2 database with some tables set up.
Could someone please assist me in how to develop a code in the IBM Cloud function to connect both the chatbot and DB2 services, as well as how the code in the Dialog nodes needs to be to either read or write to the tables in DB2?
This IBM Cloud solution tutorial shows how to build a Db2-driven chatbot with IBM Watson Assistant and IBM Cloud Functions for the app code. The related GitHub repository has working code for serverless actions that either insert a new record into Db2 on Cloud or retrieve data based on criteria entered within the chat.
The file eventFetchDate.js would search for a specific event record within a given date range. You can use any supported programming language. The most important part is to pack the result into the structure expected by Watson Assistant. The workspace file has the full set of dialog nodes and demonstrates how to interact with the user and Db2.
Related
I have created a DB instance using AWS RDS and was successful to connect the DB instance using DBeaver DB Tool. Also, created a simple table with few columns and inserted record in the table using DBeaver.
Now I am trying to develop dialog flow in Watson Assistant skill, where the Bot will ask the user some specific question and the user will provide the answers. The user input may be string or number anything. These inputs should be stored in the external DB like AWS RDS DB table and when user wants he/ she will ask the Bot and the Bot should be able to retrieve the stored data.
In a nutshell, need to create successful integration between Watson Assistant and AWS RDS DB for storing & retrieving the data.
I am quite new to WA and AWS both and hence need to know on how to build up the integration between Watson Assistant and AWS RDS DB and how to store/ retrieve the user inputs (as described above).
Can anyone kindly help me in this regard in detail with specific steps?
There is an IBM Cloud tutorial to hook up Watson Assistant to a database and the input is available as $input.
To connect to any external data source (except Watson Discovery, see "search skill"), you would need to define a webhook as shown in the linked tutorial. Implement a dispatch function (Cloud Functions, AWS Lambda, IBM Cloud Code Engine, ...) that takes the input and connects to the data source and performs the desired action.
I am trying to connect IBM Watson Assistant to IBM Db2.
The use case is the user will input data through a channel and the data will be inserted in Db2.
I am under the impression that Node.Js would be needed and I am confused on how to get Data inputted into Db2 through the Watson Assistant.
Any help would be greatly appreciated. Thanks in advance!
this Assistant Db tutorial shows how to call from Assistant to a cloud function and then into a database.
Although it is querying the database with information from Assistant, the Nodejs code could instead update the database with information from Assistant. You would have to write this update code for your use case.
I recommend the same architecture to work with your database.
I've been following the Gather, visualize, analyze and detect anomalies in IoT data tutorial and, although I was able to go through it flawlessly, I'm stuck in the second step of the "Create a data connector to store the historical data" section. In my Watson IoT left menu, there is no entry called "Extensions", my last option is the "Configuration" one. As far as I know, I have re-checked all the steps twice and I have tried to configure different regions (I'm located in Spain) for both Watson IoT and cloudant services (all within the "Lite" program), but I can't, for the life of me, forward the data received in Watson IoT to Cloudant.
Is there anything that has changed in the Watson IoT platform since the tutorial was written? Do I need to activate anything in my account that allows me to see the "Extensions" option?
Thank you for your support and if you need more information about my setup, don't hesitate to ask.
Best regards,
Aitor
As mentioned in the Solution tutorial,
Setting up a new connection is a four-step process:
Create a service binding that provides Watson IoT Platform with the necessary information to connect to the Cloudant service.
Create a connector instance for the service binding.
Configure one or more destinations on the connector.
Set up one or more forwarding rules for each destination.
You can refer to the IBM Watson IoT Platform - Historical Data Storage Extension APIs
swagger UI as mentioned in the tutorial.
You can also access the interactive API docs directly from the Watson IoT Platform service dashboard by selecting the menu bar help icon in the upper right corner of the window and then clicking API > historian connector > View APIs. To store the historical data to Cloudant, you will be passing the IBM Cloudant credentials to create a Watson IoT Platform service binding.
You can find the extensions deprecation information in the post here
I want to train the Watson Conversation service without using the toolkit? I want the chatbot to be trained by code.
I want to develop a system from which the administrator of a web page can edit or create intents and entities, so that in this way I do not have to be the one to edit if something is wanted to change. IBM Watson Virtual Agent is something similar to what I want to create
You can create your own tooling or integration into conversation using the Workspace API.
https://www.ibm.com/watson/developercloud/conversation/api/v1/#workspaces
I would like to use Bluemix to create an IBM Watson search engine (i.e. similar to a Google Search Engine interface) that will query either the internet (websites I specify) or online database and provide summaries of unstructured data, identify concepts, etc.
Are there any existing apps like this available or does anyone know how this can be setup with Bluemix or another platform?
You should take a look at the Alchemy API service on Bluemix.
It allows you to do things like extract entities and keywords.
Most of the APIs allow you to feed them html, text or web-based content. Stringing a bunch of these together and tagging content in a database such as Elasticsearch should allow you to achieve what you're after.
Hard to be too specific given the fairly broad nature of your question.