I want to add cards in my QnA Maker. I my QnA maker if anyone asks about "what services we provide?" Bot should answer (for example: We provide following services /n/n 1: Bot Development /n/n 2: Web Development /n/n 3: Documentation). In this example bot should reply it with the card and if user clicks on any of the above mentioned services than it should gives details about that.
Thanks in advance...
QnA Maker has just released a new feature called multi-turn conversations whcih does exactly what you are looking for.
Once you have added some multi-turn conversations to your knowledge base you can try this out by downloading the BotBuilder-Samples repo and opening the qnamaker-prompting sample (C# and NodeJS provided) then you can plug your knowledge base details into the appsettings.json (C#) or .env (NodeJS) file and test the functionality locally using the Bot Framework Emulator.
The key part is this method which checks to see if the result contains any prompts and returns the response accordingly - it is called inside the controller.
This should give you a good idea of how to get started.
Related
Sorry if this is a stupid question. I just installed Bot Composer v2 and want to connect the bot to a QnAMaker knowledgebase. This is what I have done:
Provision the necessary resources on Azure.
In the QnAMaker website, (www.qnamaker.ai), create a knowledge base
Upload a File and have it populates the QnA pairs. Save and publish (not sure if publish is necessary).
Create a new bot with the "Core bot with QnA" template.
Configure the bot to use the existing resource.
However, after doing the five steps, it doesn't give me the option to connect to an existing knowledgebase. The only option I have is to create a new knowledge base, and the only option I have to populate the QnA pair is via a public URL - which is not a preferable option.
Since it doesn't work, I was trying to work the other direction by
Create a new bot with the "Core bot with QnA" template.
Configure the bot to use the existing resource.
Create a new Knowledge base with nothing in it.
Test the bot.
I checked QnAMaker website and realized the new empty knowledge base has been added. I try to upload files to it - but it won't let me (Oops something went wrong)
The use case I am trying to do is to manage my knowledge (add new files etc) through the QnAMaker website, so content owner can manage their own content. As a developer I will simply connect to the knowledge base. However it seems that I can only manage the knowledgebase directly in the Bot Composer with reduced functionality (e.g. no direct import of a file).
Follow this https://learn.microsoft.com/en-us/composer/how-to-add-qna-to-bot?tabs=v2x
to Add Existing QnA Maker KB to Bot Composer
I have a group chat on Microsoft Teams with 4 members: 3 people and a bot. Is it possible for the bot to add a new member to the existing group chat?
I found the method deleteConversationMember of the class BotFrameworkAdapter, which should remove an existing member. Well, I would need the opposite, adding a new member.
I have also checked Microsoft Teams Graph API, but it seems to be possible only to get members and not add a new one.
As I see from your comment, you're trying to have the bot escalate, or "hand off" to a service desk agent. If that's correct, you can have a look at another model for this altogether, where the user continues to chat with the bot, but the messages are being sent, by the bot, to an agent behind the scenes. This is referred to as a "handoff", and you can see a blog post here and source code (from the blog author) here on github
The BotFrameworkAdapter methods use the Bot Framework REST API, which itself calls channel-specific API's. As you've seen in the Teams Graph API, adding a member to a group chat is not currently supported and even if it was that Graph API is in preview and not suited for production applications. This document explains how to give feedback if you want to request this feature.
As a workaround, I recommend having the bot give the existing group members some instruction on adding the new member to the group themselves.
If you'd like to go with a bot-to-human handoff solution like Hilton suggested, you might be interested in this new sample: https://github.com/arturl/lpproxybot
I have developed a FAQ Bot using C# and Bot Builder SDK 3.15.3. We have a large set of question/answer pairs which are uploaded to a QNA Maker Service. I have enabled the Direct Line Channel and the bot is displayed on a web page. I have used the Web Chat control provided by Microsoft with some customization and skinning.
Now I want to enable voice interaction with the bot, for that I decided to use the Microsoft Speech to Text Cognitive Service.
What I want to do is that when ever user speaks some utterance, I want to send the utterance to my bot service similar to like text is sent. Then inside C# code I want to run the Speech to Text and further do a Spell Check on the text retrieved and finally send to QNA Maker Service. The response for now will only be showed as text, but can also opt to read the response for the user.
Kindly guide my how this is achievable, as after looking at CognitiveService.js and other articles on enabling speech, I notice that Web Chat control directly sends the voice input to speech to text service.
You can make a hybrid between a calling bot which utilizes speech to text and a QnA bot to achieve your goal. For the calling bot, look over the SimpleIVRbot sample to get you going. For QnAMaker, you can reference the SimpleQnABot. It shouldn't take too much work bridging the two into a single unified bot. Just be sure to remove duplicate code and combine files where necessary.
Hope of help!
I have created Bot 'MyFirstBOT' where my backend is QnA maker application data. I have given a name to this bot called 'TestJPBOT' and I have enabled the Teams channel for this bot so that we can use this bot on Teams applications. Right now in our organization we are working to register this bot with Microsoft so that we can start using it. I would like to know going forward if I want to make any changes in the bot, like changing its name, profile picture, or something similar, do I need to reregister it every time with Microsoft? Or is there no need?
Per my simple testing using Azure Bot Service env, we don't need register again after change our bots.
Actually, register your bot is populate your bot on Microsoft, equivalent to create a index for your bot I think. You change your bot's profile or code, should not effect the index.
Would like to know how Microsoft Bot Service Provision Skype bot , Need to check the underline code how microsoft bot service is using Skype API to create skype bot. Please provide the reference and source code.
The code you are asking for is not open source. Bot Framework has many pieces open source (like the SDKs, the Emulator, the WebChat control among others) but the piece you are asking is not.
I suspect you have another issue; so I would recommend either to post a new question with the specific problem or clarify this one.
If you want to learn how Skype works with BotFramework, pleas read https://dev.skype.com/bots.