How can I transfer messages between a chatbot and a web application? - node.js

Hi stackoverflow community,
for my master thesis I am currently looking for a suitable messaging protocol or a message broker or middleware that can be used to exchange messages instantly between a chatbot, created using the SAP Conversational AI Framework and intended to serve as a fallback channel, and a specially developed SAPUI5 web application. The whole thing could be imagined as a live chat between a customer and a customer service employee.
The SAP Conversational AI Framework supports Webhooks, so I can connect a Node.js application, for example. The only limitation is that the Webhook URL must start with "https", so that a WebSocket server is virtually eliminated.
Would I have to develop such an interface myself or are there already libraries/frameworks that meet my expectations?
I am looking forward to your feedback.
Many greetings

Hmm I have never used the framework but I have made research and that is what I have found:
https://github.com/SAPConversationalAI/webchat
It enables you to deploy your bot directly to your website.
SAP Docs here:
https://cai.tools.sap/docs/concepts/webchat
I suggest you to use React to develop the frontend. You can use webchat in that way:
https://github.com/SAPConversationalAI/webchat#react-component
so if you want to use it you don't need a backend. You need only serve js files to your browser. For more details you can ask me in the comments.

Related

Enable web socket streaming in Bot Framework Composer BOT

I have a nodeJS bot built with the composer.
I'm attempting to enable telephony. I followed the directions that were laid out on GitHub, however, when I call I get dead air. Then the telephony channel on the bot shows an error that it could not connect to my bot. Web sockets and streaming are enabled on the app but it looks as if the code needs to be updated as well.
Where do you enable web sockets in the nodeJS code built with composer?
it looks as if the code needs updated as well. Where do you enable web sockets in the nodeJS code built with composer?
It is set up to use WebSockets already. I don't know if you need something special for telephony or not. Please see here.
when I call I get dead air
My assumption is that it is something else.

Chatbot - Possible to call Watson API to respond user queries?

Chatbot has been developed using IBM bulemix to respond the user queries of grade one students.
Suppose a question raised "What is the life cycle of the leaf?" As of now, Chatbot has no entities related to leaf, life cycle etc..
Chatbot identifies the above query as an irrelevant entity. For the above case is it possible call any Watson knowledge API to answer the above queries?
Or
Can we make any third party searches (google/bing).
Or
the only option we need teach more relevant entities to the chatbot
You can use Watson-Discovery Tool
https://www.ibm.com/watson/services/discovery/
As #Rabindra said, you can use Discovery. IBM Developers built one example using Conversation and Discovery service using Java. And I built one example using Node.js based on the Conversation simple example. You can read the README and will understand how it works.
Basically, you need to know: this example has one action variable to call for Discovery when don't have the "relevant information" for an answer to the user and the Discovery service is called for get relevant answers.
You can see more about in this video from Official IBM Watson channel.
See more about Discovery Service.
See the API Reference for using Discovery Service.
You can also check entity linking service from Bing: https://azure.microsoft.com/en-us/services/cognitive-services/entity-linking-intelligence-service/. It is in preview for now, so you will get limited queries per second but it is free for use.

Need to add video/audio calling feature

I have an existing application having text based chat functionality using PubNub service. I need to add audio/video calling/recording feature. Which service would be best for this type of scenario? Existing app frontend is on react/redux and backend is on node js
I have researched on Twilio. It has good features but I have doubt about video calling. It is providing some room related apis but I need to implement video calling not any meeting related feature
Tok box is a good option for your application which is WebRTC based. Opentok provides set of features like-
video calling
audio calling
chat
screen sharing
screen recording etc.
Thanks

firebase custom user signup

I'm still a newbie in firebase so i might not have the right understanding of this excellent service.
I'm building a blogging mobile app in a client-server architecture in which most if not all the logic are done server-side. all the client does is request and display the result. the client-server communication will be in REST API. and post-processing data then will be pushed to firebase.
keep in mind that this is all still a work in progress and i still don't have an actual working setup yet.
my questions are:
1. is this possible?
2. is this good practice?
a 2nd architecture I'm thinking is to have the client talks with firebase directly and have the nodejs process any events coming from firebase.
same 2 questions as above3. which is better?
mind you i'm also a newbie in nodejs and just start to learn nodejs for this purpose.
Many Thanks in Advance

Using MEAN Stack for social media app and service like fiverr

I'm planning for an application that is a social media app with service like fiverr is integrated where user can communicate with each other and ask for advise.
Problem: What should be the best technology stack, weather it should be MEAN(Mongo, Express, Angular 2.x, Node) or MEN(Mongo, Express, React, Node).
Also I want it to be a REST web app, so that I can develop mobile apps later. So should I use some NodeJS framework like KeyStone or some generator like generator-meanjs. And what should be the directory structure or architecture for this.
Thanks
Choosing the best technology stack is up to the expertise of the group who would be working together. Since you are mentioning about MEAN I assume that you are well acquainted with Javascript. The answer to your other question of having the REST web app, Mean JS does provide you with the REST APIs (courtesy ExpressJS) while using CRUD module generators, You get that out of the box if you are going with mean.
Though all these utilities will help you get started from scratch in no time it really depends on the business logic of how you would want to capture the work flows. From what I get fiverr service seems to be a kind of free lancing website where one would show case their skill set and get hired. Unfortunately fiverr doesn't seem to be having an API where you can integrate your service.
Edit1: To build a service like fiverr you have to tie in various aspects not just the technology stack. There is business logic which hsa to be defined on what you'd want your app to acheive. For example let's assume you are doing some thing similar to fiverr, You would have to account for eCommerce stuff that would be happening. You would have to have user management built in to your app.(Mean.js does provide a few aspects of this, user signin/signup social media integration). Every thing else depends on what you'd actually want your service to acheive, All the best :)

Resources