meq
meq

Reputation: 110

LUIS returning only one intent

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

Answers (3)

kiel814
kiel814

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

bolajiniy
bolajiniy

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

Jim Lewallen
Jim Lewallen

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

Related Questions