private async Task MessageReceivedAsync(IDialogContext context, IAwaitable <object> result) { var activity = await result as IMessageActivity; var witService = new WitService(_witAccessToken); var witResponse = witService.GetResponse(activity.Text ?? String.Empty); WitIntent intent = witResponse.entities?.intent?.OrderByDescending(x => x.confidence)?.FirstOrDefault(x => x.confidence >= ConfidenceBenchmark); context.Done(intent?.value); }
private void DrawIntent(WitIntent intent) { InfoField("ID", intent.id); var entities = intent.entities; if (entities.Length > 0) { var entityNames = entities.Select(e => e.name).ToArray(); EditorGUILayout.Popup("Entities", 0, entityNames); } }
private static void UpdateIntentList(this WitConfiguration configuration, WitResponseNode intentListWitResponse) { var intentList = intentListWitResponse.AsArray; var n = intentList.Count; configuration.intents = new WitIntent[n]; for (int i = 0; i < n; i++) { var intent = WitIntent.FromJson(intentList[i]); intent.witConfiguration = configuration; configuration.intents[i] = intent; intent.UpdateData(); } }
// Apply intents private static void ApplyIntentList(WitConfiguration configuration, WitResponseNode witResponse, Action <string> onComplete) { // Generate intent list var intentList = witResponse.AsArray; var n = intentList.Count; configuration.intents = new WitIntent[n]; for (int i = 0; i < n; i++) { var intent = WitIntent.FromJson(intentList[i]); intent.witConfiguration = configuration; configuration.intents[i] = intent; } EditorUtility.SetDirty(configuration); // Update intents UpdateConfigItem(0, configuration.intents, configuration, onComplete); }