Reputation: 110
I am working on a small project with LUIS integration. I am using the using Microsoft.Bot.Builder.Luis namespace for communication with the api. i was inspecting all intents i got back but since last week i only get back one intent per luis-call. Is there any (by me) unseen change to the verbose mode i did not get? Is there a way to still call for all intentresults or giving the luismodel some kind of settings on its way to the server?
i did not change any settings on luis.ai and i was wondering why this happens. Thanks in advance!
meq
Upvotes: 0
Views: 486
Reputation: 106
This worked for me. In the LuisRecognizer
constructor there is an optional parameter with a flag called IncludeAllIntents
. Just set it to true
and add it to the constructor.
var luisApplication = new LuisApplication(
configuration["LuisAppId"],
configuration["LuisAPIKey"],
"https://" + configuration["LuisAPIHostName"]);
var predictionOptions = new LuisPredictionOptions();
predictionOptions.IncludeAllIntents = true;
_recognizer = new LuisRecognizer(luisApplication, predictionOptions);
Upvotes: 1
Reputation: 29
I am assuming you are using LuisDialog, you need to set Verbose = true to get all the intents.
public RootLuisDialog() : base(new LuisService(new LuisModelAttribute(
Settings.Default.LuisAppId,
Settings.Default.LuisAPIKey,
domain: Settings.Default.LuisAPIHostName
)
{
Verbose =true,
Log = true
}))
{
}
Upvotes: 0
Reputation: 1006
Generally, LUIS still returns an array of intents with the result set so there must be something specific going on with your model.
If further experiments don't determine the cause, contact us at [email protected] with your LUIS App Id and we can investigate.
Upvotes: 0