Не удается отсоединить пользовательский тип слота (.net sdk) от намерения aws lex - PullRequest
0 голосов
/ 10 сентября 2018

Я пытаюсь отсоединить свой пользовательский слот от намерения Lex с помощью .NET SDK, передав нулевое значение параметру slots.Но это все еще показывает место в намерении.Ниже приведен код, который я использую для добавления и удаления слота из намерения.

            List<Slot> slots = new List<Slot>();
            if (intentGuide.Slots != null)
            {
                slots = intentGuide.Slots
                .Select(x => new Amazon.LexModelBuildingService.Model.Slot
                {
                    Name = x.Name,
                    Description = "",
                    SlotType = slotTypes.FirstOrDefault(z=>z.SlotTypeId == x.SlotTypeId).Name,
                    SlotTypeVersion = "$LATEST",
                    SlotConstraint = x.IsRequired == true ? "Required" : "Optional",
                    ValueElicitationPrompt = new Prompt
                    {
                        MaxAttempts = 1,
                        Messages = new List<Amazon.LexModelBuildingService.Model.Message> {
                        new Amazon.LexModelBuildingService.Model.Message {
                            Content = x.Prompt,
                            ContentType = "PlainText"
                            },
                        }
                    }
                }).ToList();
            }


            PutIntentRequest request = new PutIntentRequest
            {
                Name = intentGuide.Name,
                Checksum = AmazonLexService.GetIntentCheckSum(intentGuide.Name),
                ConclusionStatement = new Statement
                {
                    Messages = responseMessages,
                },
                Description = "",
                FulfillmentActivity = new FulfillmentActivity { Type = "ReturnIntent" },
                SampleUtterances = intentGuide.Utterances.Select(x => x.Text).ToList(),
                Slots = slots
            };

            return AmazonLexService.PutIntentHelper(request, out ErrorMessage);
...