We want to use sprinklr platform to use qna and LUIS. How can it be integrated?
You can use these docs for LUIS and QnA integration
https://learn.microsoft.com/en-us/azure/cognitive-services/qnamaker/choose-natural-language-processing-service
https://learn.microsoft.com/en-us/azure/bot-service/bot-builder-tutorial-dispatch?view=azure-bot-service-4.0&tabs=cs
Related
I am using a dispatch model with 2 LUIS model and 1 QnA maker. On emulator everything works but after publishing, when I debug it on Web Chat channel on Azure or on Teams my QnA Maker utterances always returns
No such host is known.
I have tried using both the host names one from the settings page in QnA maker portal and westus.api.cognitive.microsoft.com/Qnamaker
Can someone help.
Well, I found out the reason it wasn't just QnA Maker but also LUIS , I have to update the LuisAPIHostName in the appsettings.json from westus to westus.api.cognitive.microsoft.comand update LUIS Host Name as $"https://{configuration["LuisAPIHostName"]}") in BotServices
And off course has to publish it again.
From what I am understanding the bing spellcheck api via azure can be integrated with LUIS queries but not qna queries on their own. However, when you use the dispatch multi-model pattern with a parent LUIS app and child apps the overall query or top level query coming from luis can run the bing spellcheck api.
Is this the suggested method for assuring some spellchecking is applied to a qna knowledge base?
Yes, you can do this with Dispatch Bot. When you get the results back from the recognizer, there will be an alteredText value if spell check made a correction. What you're wanting to do is replace the original text with this new value.
const recognizerResult = await this.dispatchRecognizer.recognize(context);
if (recognizerResult.alteredText) {
context.activity.text = recognizerResult.alteredText;
}
<code to select intent>
var processResult = await this.qnaDialog.processAsync(userDialog.qnaState, context.activity)
QnA Maker should now receive the query with the altered text. I don't have this implementation exactly but I had to do something similar where I modified context.activity.text and removed or # mentions from Teams, which were affecting intent identification and QnA answers.
As billoverton mentioned, if you integrate Bing Spell Check with LUIS then you can access the spellchecked utterance in the alteredQuery property of the LUIS results. If you don't have a LUIS model that you're passing utterances through before they reach QnA Maker, you can always call the Bing Spell Check API directly with HTTP requests or using an Azure SDK.
Once you have the spellchecked utterance, you can pass it along to QnA Maker through a QnA dialog by modifying the turn context's activity like billoverton suggested, or again you can call the API directly. There's plenty of information in the QnA Maker documentation about generating answers with the REST API or an SDK.
Can someone please provide the solution for integrate LUIS with multiple QnA KB.
You would basically create a LUIS app, then for each intent have it call the appropriate QnA KB. Tutorial on how to do this is here, "Integrate QnA Maker and LUIS to distribute your knowledge base".
Is it possible to create LUIS Dispatch for existing V3 Bot ? We have v3 bot that's in production and we have gone so far now so its difficult to switch over v4 Bot. However, there are awesome capabilities like LUIS dispatch tool that we would like to leverage.
Ref:-
https://learn.microsoft.com/en-us/azure/bot-service/bot-builder-tutorial-dispatch?view=azure-bot-service-4.0&tabs=jsaddref%2Cjsbotconfig#integrate-multiple-luis-apps-and-qna-services-with-the-dispatch-tool
Given the fact that the source code is available for the LUIS components and the provided examples, I think you can use this tool on v3 bot after some modifications.
It looks like the dispatch tool is only preparing a custom LUIS app that you will query from your bot, so nothing really linked to v4 of bot builder.
I am quite new to the Microsoft Bot Framework, I would like to use BOT to translate user input to the language user specifies, how to get started with this? please share your thoughts.
In Bot Builder V4,
you can use System.Globalization.CultureInfo("en-US");
Here is a link to the official answer regarding this https://github.com/Microsoft/BotBuilder/issues/1156