microsoft / conversationlearner-sdk Goto Github PK
View Code? Open in Web Editor NEWAn SDK for ConversationLearner. REPOSITORY MOVED
Home Page: https://github.com/microsoft/conversationlearner
License: MIT License
An SDK for ConversationLearner. REPOSITORY MOVED
Home Page: https://github.com/microsoft/conversationlearner
License: MIT License
I am trying to update a model and I am running into an issue converting the model. The error I receive is pasted below, I believe it includes the entire JSON for the model. Thanks!
SOURCE_PROMOTE_UPDATED_APP_DEFINITION Failed
Request failed with status code 400
{ "data": "Microsoft.Azure.Documents.BadRequestException: Message: {\"Errors\":[\"One of the specified inputs is invalid\"]}\r\nActivityId: 0d2e86d7-653d-4051-bace-6484ba102def, Request URI: /apps/3aad1623-2e98-4588-b6fd-3ec68b500699/services/bdb80054-7661-4e51-bfbe-4a1c6c33e42b/partitions/0a136a89-9da6-4e95-a722-10102c31d471/replicas/131829633296717485p/\r\n at Microsoft.Azure.Documents.TransportClient.ThrowIfFailed(String resourceAddress, StoreResponse storeResponse, Uri physicalAddress, Guid activityId)\r\n at Microsoft.Azure.Documents.RntbdTransportClient.<InvokeStoreAsync>d__3.MoveNext()\r\n--- End of stack trace from previous location where exception was thrown ---\r\n at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)\r\n at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)\r\n at System.Runtime.CompilerServices.TaskAwaiter`1.GetResult()\r\n at Microsoft.Azure.Documents.ReplicatedResourceClient.<WriteAsync>d__17.MoveNext()\r\n--- End of stack trace from previous location where exception was thrown ---\r\n at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)\r\n at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)\r\n at System.Runtime.CompilerServices.TaskAwaiter`1.GetResult()\r\n at Microsoft.Azure.Documents.ReplicatedResourceClient.<InvokeAsync>d__15.MoveNext()\r\n--- End of stack trace from previous location where exception was thrown ---\r\n at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)\r\n at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)\r\n at System.Runtime.CompilerServices.TaskAwaiter`1.GetResult()\r\n at Microsoft.Azure.Documents.ReplicatedResourceClient.<>c__DisplayClass14_0.<<InvokeAsync>b__0>d.MoveNext()\r\n--- End of stack trace from previous location where exception was thrown ---\r\n at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)\r\n at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)\r\n at System.Runtime.CompilerServices.TaskAwaiter`1.GetResult()\r\n at Microsoft.Azure.Documents.BackoffRetryUtility`1.<>c__DisplayClass2_0`1.<<ExecuteAsync>b__0>d.MoveNext()\r\n--- End of stack trace from previous location where exception was thrown ---\r\n at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)\r\n at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)\r\n at System.Runtime.CompilerServices.TaskAwaiter`1.GetResult()\r\n at Microsoft.Azure.Documents.BackoffRetryUtility`1.<ExecuteRetry>d__3.MoveNext()\r\n--- End of stack trace from previous location where exception was thrown ---\r\n at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()\r\n at Microsoft.Azure.Documents.BackoffRetryUtility`1.<ExecuteRetry>d__3.MoveNext()\r\n--- End of stack trace from previous location where exception was thrown ---\r\n at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)\r\n at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)\r\n at System.Runtime.CompilerServices.TaskAwaiter`1.GetResult()\r\n at Microsoft.Azure.Documents.BackoffRetryUtility`1.<ExecuteAsync>d__2`1.MoveNext()\r\n--- End of stack trace from previous location where exception was thrown ---\r\n at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)\r\n at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)\r\n at System.Runtime.CompilerServices.TaskAwaiter`1.GetResult()\r\n at Microsoft.Azure.Documents.ReplicatedResourceClient.<InvokeAsync>d__14.MoveNext()\r\n--- End of stack trace from previous location where exception was thrown ---\r\n at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)\r\n at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)\r\n at System.Runtime.CompilerServices.TaskAwaiter`1.GetResult()\r\n at Microsoft.Azure.Documents.StoreClient.<ProcessMessageAsync>d__15.MoveNext()\r\n--- End of stack trace from previous location where exception was thrown ---\r\n at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)\r\n at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)\r\n at System.Runtime.CompilerServices.TaskAwaiter`1.GetResult()\r\n at Microsoft.Azure.Documents.Client.DocumentClient.<UpsertAsync>d__258.MoveNext()\r\n--- End of stack trace from previous location where exception was thrown ---\r\n at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)\r\n at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)\r\n at System.Runtime.CompilerServices.TaskAwaiter`1.GetResult()\r\n at Microsoft.Azure.Documents.Client.DocumentClient.<UpsertDocumentPrivateAsync>d__226.MoveNext()\r\n--- End of stack trace from previous location where exception was thrown ---\r\n at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)\r\n at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)\r\n at System.Runtime.CompilerServices.TaskAwaiter`1.GetResult()\r\n at Microsoft.Azure.Documents.BackoffRetryUtility`1.<>c__DisplayClass1_0.<<ExecuteAsync>b__0>d.MoveNext()\r\n--- End of stack trace from previous location where exception was thrown ---\r\n at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)\r\n at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)\r\n at System.Runtime.CompilerServices.TaskAwaiter`1.GetResult()\r\n at Microsoft.Azure.Documents.BackoffRetryUtility`1.<ExecuteRetry>d__3.MoveNext()\r\n--- End of stack trace from previous location where exception was thrown ---\r\n at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()\r\n at Microsoft.Azure.Documents.BackoffRetryUtility`1.<ExecuteRetry>d__3.MoveNext()\r\n--- End of stack trace from previous location where exception was thrown ---\r\n at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)\r\n at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)\r\n at System.Runtime.CompilerServices.TaskAwaiter`1.GetResult()\r\n at Microsoft.Azure.Documents.BackoffRetryUtility`1.<ExecuteAsync>d__1.MoveNext()\r\n--- End of stack trace from previous location where exception was thrown ---\r\n at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)\r\n at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)\r\n at System.Runtime.CompilerServices.TaskAwaiter`1.GetResult()\r\n at Microsoft.Azure.Documents.Client.DocumentClient.<UpsertDocumentInlineAsync>d__225.MoveNext()\r\n--- End of stack trace from previous location where exception was thrown ---\r\n at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)\r\n at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)\r\n at System.Runtime.CompilerServices.TaskAwaiter`1.GetResult()\r\n at BlisService.NetCore.Middleware.HttpStatusCodeExceptionEx.<WrapExceptionWithHttpStatusCodeException>d__0`1.MoveNext() in D:\\a\\1\\s\\BlisService.DataProvider\\HttpStatusCodeException.cs:line 40", "status": 400, "statusText": "Bad Request", "headers": { "cache-control": "no-cache", "content-type": "text/plain", "expires": "-1", "pragma": "no-cache" }, "config": { "transformRequest": {}, "transformResponse": {}, "timeout": 0, "xsrfCookieName": "XSRF-TOKEN", "xsrfHeaderName": "X-XSRF-TOKEN", "maxContentLength": -1, "headers": { "Accept": "application/json, text/plain, */*", "Content-Type": "application/json", "x-conversationlearner-memory-key": "D-1ea2a636358ea32644251b2d3431b9a0635fc3b440201e3b846c62e2248f38b4" }, "method": "post", "url": "http://localhost:3978/sdk/app/dd441b67-fddb-41ed-8097-eaea6e8f16ca/source", "data": "{\"actions\":[{\"actionId\":\"6879c30f-5f5c-4fee-8042-160347782026\",\"actionType\":\"API_LOCAL\",\"payload\":\"{\\\"payload\\\":\\\"GetCurrentWeather\\\",\\\"logicArguments\\\":[{\\\"parameter\\\":\\\"WeatherLocation\\\",\\\"value\\\":{\\\"json\\\":{\\\"kind\\\":\\\"value\\\",\\\"document\\\":{\\\"kind\\\":\\\"document\\\",\\\"data\\\":{},\\\"nodes\\\":[{\\\"kind\\\":\\\"block\\\",\\\"type\\\":\\\"line\\\",\\\"isVoid\\\":false,\\\"data\\\":{},\\\"nodes\\\":[{\\\"kind\\\":\\\"text\\\",\\\"leaves\\\":[{\\\"kind\\\":\\\"leaf\\\",\\\"text\\\":\\\"\\\",\\\"marks\\\":[]}]},{\\\"kind\\\":\\\"inline\\\",\\\"type\\\":\\\"mention-inline-node\\\",\\\"isVoid\\\":false,\\\"data\\\":{\\\"completed\\\":true,\\\"option\\\":{\\\"id\\\":\\\"eed05a28-cfa4-44e4-91f1-4080899543ce\\\",\\\"name\\\":\\\"WeatherLocation\\\"}},\\\"nodes\\\":[{\\\"kind\\\":\\\"text\\\",\\\"leaves\\\":[{\\\"kind\\\":\\\"leaf\\\",\\\"text\\\":\\\"$WeatherLocation\\\",\\\"marks\\\":[]}]}]},{\\\"kind\\\":\\\"text\\\",\\\"leaves\\\":[{\\\"kind\\\":\\\"leaf\\\",\\\"text\\\":\\\"\\\",\\\"marks\\\":[]}]}]}]}}}}],\\\"renderArguments\\\":[]}\",\"isTerminal\":true,\"requiredEntitiesFromPayload\":[],\"requiredEntities\":[\"eed05a28-cfa4-44e4-91f1-4080899543ce\"],\"negativeEntities\":[]},{\"actionId\":\"7dfe5cbb-6568-450c-b889-a543611fc847\",\"actionType\":\"TEXT\",\"payload\":\"{\\\"json\\\":{\\\"kind\\\":\\\"value\\\",\\\"document\\\":{\\\"kind\\\":\\\"document\\\",\\\"data\\\":{},\\\"nodes\\\":[{\\\"kind\\\":\\\"block\\\",\\\"type\\\":\\\"line\\\",\\\"isVoid\\\":false,\\\"data\\\":{},\\\"nodes\\\":[{\\\"kind\\\":\\\"text\\\",\\\"leaves\\\":[{\\\"kind\\\":\\\"leaf\\\",\\\"text\\\":\\\"Where do you want to see the current weather for?\\\",\\\"marks\\\":[]}]}]}]}}}\",\"isTerminal\":true,\"requiredEntitiesFromPayload\":[],\"requiredEntities\":[],\"negativeEntities\":[\"eed05a28-cfa4-44e4-91f1-4080899543ce\"],\"suggestedEntity\":\"eed05a28-cfa4-44e4-91f1-4080899543ce\"},{\"actionId\":\"e47746ea-dc70-4b50-a7e6-53c5580ad48c\",\"actionType\":\"API_LOCAL\",\"payload\":\"{\\\"payload\\\":\\\"GetWeatherForecast\\\",\\\"logicArguments\\\":[{\\\"parameter\\\":\\\"WeatherLocation\\\",\\\"value\\\":{\\\"json\\\":{\\\"kind\\\":\\\"value\\\",\\\"document\\\":{\\\"kind\\\":\\\"document\\\",\\\"data\\\":{},\\\"nodes\\\":[{\\\"kind\\\":\\\"block\\\",\\\"type\\\":\\\"line\\\",\\\"isVoid\\\":false,\\\"data\\\":{},\\\"nodes\\\":[{\\\"kind\\\":\\\"text\\\",\\\"leaves\\\":[{\\\"kind\\\":\\\"leaf\\\",\\\"text\\\":\\\"\\\",\\\"marks\\\":[]}]},{\\\"kind\\\":\\\"inline\\\",\\\"type\\\":\\\"mention-inline-node\\\",\\\"isVoid\\\":false,\\\"data\\\":{\\\"completed\\\":true,\\\"option\\\":{\\\"id\\\":\\\"eed05a28-cfa4-44e4-91f1-4080899543ce\\\",\\\"name\\\":\\\"WeatherLocation\\\"}},\\\"nodes\\\":[{\\\"kind\\\":\\\"text\\\",\\\"leaves\\\":[{\\\"kind\\\":\\\"leaf\\\",\\\"text\\\":\\\"$WeatherLocation\\\",\\\"marks\\\":[]}]}]},{\\\"kind\\\":\\\"text\\\",\\\"leaves\\\":[{\\\"kind\\\":\\\"leaf\\\",\\\"text\\\":\\\"\\\",\\\"marks\\\":[]}]}]}]}}}}],\\\"renderArguments\\\":[]}\",\"isTerminal\":true,\"requiredEntitiesFromPayload\":[],\"requiredEntities\":[\"eed05a28-cfa4-44e4-91f1-4080899543ce\"],\"negativeEntities\":[]},{\"actionId\":\"a82611e1-faf3-4b1a-86c0-fb5c0fa54da3\",\"actionType\":\"TEXT\",\"payload\":\"{\\\"json\\\":{\\\"kind\\\":\\\"value\\\",\\\"document\\\":{\\\"kind\\\":\\\"document\\\",\\\"data\\\":{},\\\"nodes\\\":[{\\\"kind\\\":\\\"block\\\",\\\"type\\\":\\\"line\\\",\\\"isVoid\\\":false,\\\"data\\\":{},\\\"nodes\\\":[{\\\"kind\\\":\\\"text\\\",\\\"leaves\\\":[{\\\"kind\\\":\\\"leaf\\\",\\\"text\\\":\\\"For what city?\\\",\\\"marks\\\":[]}]}]}]}}}\",\"isTerminal\":true,\"requiredEntitiesFromPayload\":[],\"requiredEntities\":[],\"negativeEntities\":[\"eed05a28-cfa4-44e4-91f1-4080899543ce\"],\"suggestedEntity\":\"eed05a28-cfa4-44e4-91f1-4080899543ce\"},{\"actionId\":\"7fbc0e2f-5a79-4cf8-a2b8-8b7837e4285a\",\"actionType\":\"API_LOCAL\",\"payload\":\"{\\\"payload\\\":\\\"GetGreetingResponse\\\",\\\"logicArguments\\\":[{\\\"parameter\\\":\\\"Greeting\\\",\\\"value\\\":{\\\"json\\\":{\\\"kind\\\":\\\"value\\\",\\\"document\\\":{\\\"kind\\\":\\\"document\\\",\\\"data\\\":{},\\\"nodes\\\":[{\\\"kind\\\":\\\"block\\\",\\\"type\\\":\\\"line\\\",\\\"isVoid\\\":false,\\\"data\\\":{},\\\"nodes\\\":[{\\\"kind\\\":\\\"text\\\",\\\"leaves\\\":[{\\\"kind\\\":\\\"leaf\\\",\\\"text\\\":\\\"Hello!\\\",\\\"marks\\\":[]}]}]}]}}}}],\\\"renderArguments\\\":[]}\",\"isTerminal\":true,\"requiredEntitiesFromPayload\":[],\"requiredEntities\":[],\"negativeEntities\":[]}],\"entities\":[{\"entityId\":\"eed05a28-cfa4-44e4-91f1-4080899543ce\",\"entityName\":\"WeatherLocation\",\"entityType\":\"LUIS\",\"isMultivalue\":false,\"isNegatible\":false},{\"entityId\":\"778919e3-89c8-433d-96c7-cff2d6c49d5f\",\"entityName\":\"builtin-datetimev2\",\"entityType\":\"datetimeV2\",\"isMultivalue\":true,\"isNegatible\":false}],\"trainDialogs\":[{\"trainDialogId\":\"4027ccbd-3b26-412c-8b32-339c1b2d328f\",\"rounds\":[{\"extractorStep\":{\"textVariations\":[{\"text\":\"Get weather for New York\",\"labelEntities\":[{\"entityId\":\"eed05a28-cfa4-44e4-91f1-4080899543ce\",\"startCharIndex\":16,\"endCharIndex\":23,\"entityText\":\"New York\",\"resolution\":{}}]}]},\"scorerSteps\":[{\"input\":{\"filledEntities\":[{\"entityId\":\"eed05a28-cfa4-44e4-91f1-4080899543ce\",\"values\":[{\"userText\":\"New York\",\"displayText\":\"New York\",\"builtinType\":null,\"resolution\":{}}]}],\"context\":{},\"maskedActions\":[]},\"labelAction\":\"6879c30f-5f5c-4fee-8042-160347782026\",\"metrics\":{\"predictMetrics\":{\"blisTime\":0.0048487186431884766,\"contextDialogBlisTime\":0}}}]}]},{\"trainDialogId\":\"b450cf59-484b-41c9-ab41-968543acb16d\",\"rounds\":[{\"extractorStep\":{\"textVariations\":[{\"text\":\"Get weather for chicago\",\"labelEntities\":[{\"entityId\":\"eed05a28-cfa4-44e4-91f1-4080899543ce\",\"startCharIndex\":16,\"endCharIndex\":22,\"entityText\":\"chicago\",\"resolution\":{}}]}]},\"scorerSteps\":[{\"input\":{\"filledEntities\":[{\"entityId\":\"eed05a28-cfa4-44e4-91f1-4080899543ce\",\"values\":[{\"userText\":\"chicago\",\"displayText\":\"chicago\",\"builtinType\":null,\"resolution\":{}}]}],\"context\":{},\"maskedActions\":[]},\"labelAction\":\"6879c30f-5f5c-4fee-8042-160347782026\",\"metrics\":{\"predictMetrics\":{\"blisTime\":0.004738807678222656,\"contextDialogBlisTime\":0}}}]},{\"extractorStep\":{\"textVariations\":[{\"text\":\"get weather for atlanta\",\"labelEntities\":[{\"entityId\":\"eed05a28-cfa4-44e4-91f1-4080899543ce\",\"startCharIndex\":16,\"endCharIndex\":22,\"entityText\":\"atlanta\"}]}]},\"scorerSteps\":[{\"input\":{\"filledEntities\":[{\"entityId\":\"eed05a28-cfa4-44e4-91f1-4080899543ce\",\"values\":[{\"userText\":\"atlanta\",\"displayText\":\"atlanta\",\"builtinType\":null,\"resolution\":null}]}],\"context\":{},\"maskedActions\":[]},\"labelAction\":\"6879c30f-5f5c-4fee-8042-160347782026\",\"metrics\":{\"predictMetrics\":{\"blisTime\":0.010147333145141602,\"contextDialogBlisTime\":0}}}]},{\"extractorStep\":{\"textVariations\":[{\"text\":\"get weather for san francisco\",\"labelEntities\":[{\"entityId\":\"eed05a28-cfa4-44e4-91f1-4080899543ce\",\"startCharIndex\":16,\"endCharIndex\":28,\"entityText\":\"san francisco\"}]}]},\"scorerSteps\":[{\"input\":{\"filledEntities\":[{\"entityId\":\"eed05a28-cfa4-44e4-91f1-4080899543ce\",\"values\":[{\"userText\":\"san francisco\",\"displayText\":\"san francisco\",\"builtinType\":null,\"resolution\":null}]}],\"context\":{},\"maskedActions\":[]},\"labelAction\":\"6879c30f-5f5c-4fee-8042-160347782026\",\"metrics\":{\"predictMetrics\":{\"blisTime\":0.00455164909362793,\"contextDialogBlisTime\":0}}}]}]},{\"trainDialogId\":\"dab17399-4e33-44e6-a88e-5992f82fde2a\",\"rounds\":[{\"extractorStep\":{\"textVariations\":[{\"text\":\"get me the latest weather\",\"labelEntities\":[]}]},\"scorerSteps\":[{\"input\":{\"filledEntities\":[],\"context\":{},\"maskedActions\":[]},\"labelAction\":\"7dfe5cbb-6568-450c-b889-a543611fc847\",\"metrics\":{\"predictMetrics\":{\"blisTime\":0.00461268424987793,\"contextDialogBlisTime\":0}}}]},{\"extractorStep\":{\"textVariations\":[{\"text\":\"atlanta\",\"labelEntities\":[{\"entityId\":\"eed05a28-cfa4-44e4-91f1-4080899543ce\",\"startCharIndex\":0,\"endCharIndex\":6,\"entityText\":\"atlanta\"}]}]},\"scorerSteps\":[{\"input\":{\"filledEntities\":[{\"entityId\":\"eed05a28-cfa4-44e4-91f1-4080899543ce\",\"values\":[{\"userText\":\"atlanta\",\"displayText\":\"atlanta\",\"builtinType\":null,\"resolution\":null}]}],\"context\":{},\"maskedActions\":[]},\"labelAction\":\"6879c30f-5f5c-4fee-8042-160347782026\",\"metrics\":{\"predictMetrics\":{\"blisTime\":0.010549545288085938,\"contextDialogBlisTime\":0}}}]},{\"extractorStep\":{\"textVariations\":[{\"text\":\"find weather\",\"labelEntities\":[]}]},\"scorerSteps\":[{\"input\":{\"filledEntities\":[{\"entityId\":\"eed05a28-cfa4-44e4-91f1-4080899543ce\",\"values\":[{\"userText\":\"atlanta\",\"displayText\":\"atlanta\",\"builtinType\":null,\"resolution\":null}]}],\"context\":{},\"maskedActions\":[]},\"labelAction\":\"6879c30f-5f5c-4fee-8042-160347782026\",\"metrics\":{\"predictMetrics\":{\"blisTime\":0.004771709442138672,\"contextDialogBlisTime\":0}}}]}]},{\"trainDialogId\":\"a71c64f6-8c20-4f55-a460-d94438778e4a\",\"rounds\":[{\"extractorStep\":{\"textVariations\":[{\"text\":\"get forecast for seattle\",\"labelEntities\":[{\"entityId\":\"eed05a28-cfa4-44e4-91f1-4080899543ce\",\"startCharIndex\":17,\"endCharIndex\":23,\"entityText\":\"seattle\",\"resolution\":{}}]}]},\"scorerSteps\":[{\"input\":{\"filledEntities\":[{\"entityId\":\"eed05a28-cfa4-44e4-91f1-4080899543ce\",\"values\":[{\"userText\":\"seattle\",\"displayText\":\"seattle\",\"builtinType\":null,\"resolution\":{}}]}],\"context\":{},\"maskedActions\":[]},\"labelAction\":\"e47746ea-dc70-4b50-a7e6-53c5580ad48c\",\"metrics\":{\"predictMetrics\":{\"blisTime\":0.00441288948059082,\"contextDialogBlisTime\":0}}}]}]},{\"trainDialogId\":\"8f454f54-65f0-48e1-8609-526812ce6a8a\",\"rounds\":[{\"extractorStep\":{\"textVariations\":[{\"text\":\"forecast for new york for tomorrow\",\"labelEntities\":[{\"entityId\":\"778919e3-89c8-433d-96c7-cff2d6c49d5f\",\"startCharIndex\":26,\"endCharIndex\":33,\"entityText\":\"tomorrow\",\"resolution\":{\"values\":[{\"timex\":\"2018-07-18\",\"type\":\"date\",\"value\":\"2018-07-18\"}]},\"builtinType\":\"builtin.datetimeV2.date\"},{\"entityId\":\"eed05a28-cfa4-44e4-91f1-4080899543ce\",\"startCharIndex\":13,\"endCharIndex\":20,\"entityText\":\"new york\"}]}]},\"scorerSteps\":[{\"input\":{\"filledEntities\":[{\"entityId\":\"778919e3-89c8-433d-96c7-cff2d6c49d5f\",\"values\":[{\"userText\":\"tomorrow\",\"displayText\":\"2018-07-18\",\"builtinType\":\"builtin.datetimeV2.date\",\"resolution\":{\"values\":[{\"timex\":\"2018-07-18\",\"type\":\"date\",\"value\":\"2018-07-18\"}]}}]},{\"entityId\":\"eed05a28-cfa4-44e4-91f1-4080899543ce\",\"values\":[{\"userText\":\"new york\",\"displayText\":\"new york\",\"builtinType\":null,\"resolution\":null}]}],\"context\":{},\"maskedActions\":[]},\"labelAction\":\"e47746ea-dc70-4b50-a7e6-53c5580ad48c\",\"metrics\":{\"predictMetrics\":{\"blisTime\":0.01273345947265625,\"contextDialogBlisTime\":0}}}]}]},{\"trainDialogId\":\"06135204-b193-4f28-82cf-23019ec4bb9b\",\"rounds\":[{\"extractorStep\":{\"textVariations\":[{\"text\":\"forecast for san juan for friday\",\"labelEntities\":[{\"entityId\":\"778919e3-89c8-433d-96c7-cff2d6c49d5f\",\"startCharIndex\":26,\"endCharIndex\":31,\"entityText\":\"friday\",\"resolution\":{\"values\":[{\"timex\":\"XXXX-WXX-5\",\"type\":\"date\",\"value\":\"2018-07-13\"},{\"timex\":\"XXXX-WXX-5\",\"type\":\"date\",\"value\":\"2018-07-20\"}]},\"builtinType\":\"builtin.datetimeV2.date\"},{\"entityId\":\"eed05a28-cfa4-44e4-91f1-4080899543ce\",\"startCharIndex\":13,\"endCharIndex\":20,\"entityText\":\"san juan\"}]}]},\"scorerSteps\":[{\"input\":{\"filledEntities\":[{\"entityId\":\"778919e3-89c8-433d-96c7-cff2d6c49d5f\",\"values\":[{\"userText\":\"friday\",\"displayText\":\"2018-07-13 or 2018-07-20\",\"builtinType\":\"builtin.datetimeV2.date\",\"resolution\":{\"values\":[{\"timex\":\"XXXX-WXX-5\",\"type\":\"date\",\"value\":\"2018-07-13\"},{\"timex\":\"XXXX-WXX-5\",\"type\":\"date\",\"value\":\"2018-07-20\"}]}}]},{\"entityId\":\"eed05a28-cfa4-44e4-91f1-4080899543ce\",\"values\":[{\"userText\":\"san juan\",\"displayText\":\"san juan\",\"builtinType\":null,\"resolution\":null}]}],\"context\":{},\"maskedActions\":[]},\"labelAction\":\"e47746ea-dc70-4b50-a7e6-53c5580ad48c\",\"metrics\":{\"predictMetrics\":{\"blisTime\":0.010332345962524414,\"contextDialogBlisTime\":0}}}]}]},{\"trainDialogId\":\"f8510d66-3fbf-4da6-9cb1-b7ed88c486a5\",\"rounds\":[{\"extractorStep\":{\"textVariations\":[{\"text\":\"what is the forecast for miami\",\"labelEntities\":[{\"entityId\":\"eed05a28-cfa4-44e4-91f1-4080899543ce\",\"startCharIndex\":25,\"endCharIndex\":29,\"entityText\":\"miami\"}]}]},\"scorerSteps\":[{\"input\":{\"filledEntities\":[{\"entityId\":\"eed05a28-cfa4-44e4-91f1-4080899543ce\",\"values\":[{\"userText\":\"miami\",\"displayText\":\"miami\",\"builtinType\":null,\"resolution\":null}]}],\"context\":{},\"maskedActions\":[]},\"labelAction\":\"e47746ea-dc70-4b50-a7e6-53c5580ad48c\",\"metrics\":{\"predictMetrics\":{\"blisTime\":0.010632753372192383,\"contextDialogBlisTime\":0}}}]}]},{\"trainDialogId\":\"e6c16277-6f94-4611-983a-3dad172f4229\",\"rounds\":[{\"extractorStep\":{\"textVariations\":[{\"text\":\"get forecast\",\"labelEntities\":[]}]},\"scorerSteps\":[{\"input\":{\"filledEntities\":[{\"entityId\":\"eed05a28-cfa4-44e4-91f1-4080899543ce\",\"values\":[{\"userText\":\"miami\",\"displayText\":null,\"builtinType\":null,\"resolution\":null}]}],\"context\":{},\"maskedActions\":[]},\"labelAction\":\"e47746ea-dc70-4b50-a7e6-53c5580ad48c\",\"metrics\":{\"predictMetrics\":{\"blisTime\":0.010773181915283203,\"contextDialogBlisTime\":0}}}]}]},{\"trainDialogId\":\"e348fcb0-3bb4-4904-b662-2fd395e8b36a\",\"rounds\":[{\"extractorStep\":{\"textVariations\":[{\"text\":\"get forecast\",\"labelEntities\":[]}]},\"scorerSteps\":[{\"input\":{\"filledEntities\":[],\"context\":{},\"maskedActions\":[]},\"labelAction\":\"a82611e1-faf3-4b1a-86c0-fb5c0fa54da3\",\"metrics\":{\"predictMetrics\":{\"blisTime\":0.004817485809326172,\"contextDialogBlisTime\":0}}}]},{\"extractorStep\":{\"textVariations\":[{\"text\":\"Detroit\",\"labelEntities\":[{\"entityId\":\"eed05a28-cfa4-44e4-91f1-4080899543ce\",\"startCharIndex\":0,\"endCharIndex\":6,\"entityText\":\"Detroit\"}]}]},\"scorerSteps\":[{\"input\":{\"filledEntities\":[{\"entityId\":\"eed05a28-cfa4-44e4-91f1-4080899543ce\",\"values\":[{\"userText\":\"Detroit\",\"displayText\":\"Detroit\",\"builtinType\":null,\"resolution\":null}]}],\"context\":{},\"maskedActions\":[]},\"labelAction\":\"e47746ea-dc70-4b50-a7e6-53c5580ad48c\",\"metrics\":{\"predictMetrics\":{\"blisTime\":0.0049588680267333984,\"contextDialogBlisTime\":0}}}]}]},{\"trainDialogId\":\"7f2db769-1d74-4eac-879f-6beb37018691\",\"rounds\":[{\"extractorStep\":{\"textVariations\":[{\"text\":\"show me the forecast\",\"labelEntities\":[]}]},\"scorerSteps\":[{\"input\":{\"filledEntities\":[],\"context\":{},\"maskedActions\":[]},\"labelAction\":\"a82611e1-faf3-4b1a-86c0-fb5c0fa54da3\",\"metrics\":{\"predictMetrics\":{\"blisTime\":0.010964393615722656,\"contextDialogBlisTime\":0}}}]},{\"extractorStep\":{\"textVariations\":[{\"text\":\"dallas\",\"labelEntities\":[{\"entityId\":\"eed05a28-cfa4-44e4-91f1-4080899543ce\",\"startCharIndex\":0,\"endCharIndex\":5,\"entityText\":\"dallas\"}]}]},\"scorerSteps\":[{\"input\":{\"filledEntities\":[{\"entityId\":\"eed05a28-cfa4-44e4-91f1-4080899543ce\",\"values\":[{\"userText\":\"dallas\",\"displayText\":\"dallas\",\"builtinType\":null,\"resolution\":null}]}],\"context\":{},\"maskedActions\":[]},\"labelAction\":\"e47746ea-dc70-4b50-a7e6-53c5580ad48c\",\"metrics\":{\"predictMetrics\":{\"blisTime\":0.010456323623657227,\"contextDialogBlisTime\":0}}}]}]},{\"trainDialogId\":\"c5d34be3-f5aa-4f4b-9d48-d87e6856b16e\",\"rounds\":[{\"extractorStep\":{\"textVariations\":[{\"text\":\"what's the weather\",\"labelEntities\":[]}]},\"scorerSteps\":[{\"input\":{\"filledEntities\":[],\"context\":{},\"maskedActions\":[]},\"labelAction\":\"7dfe5cbb-6568-450c-b889-a543611fc847\",\"metrics\":{\"predictMetrics\":{\"blisTime\":0.010843992233276367,\"contextDialogBlisTime\":0}}}]},{\"extractorStep\":{\"textVariations\":[{\"text\":\"houston\",\"labelEntities\":[{\"entityId\":\"eed05a28-cfa4-44e4-91f1-4080899543ce\",\"startCharIndex\":0,\"endCharIndex\":6,\"entityText\":\"houston\"}]}]},\"scorerSteps\":[{\"input\":{\"filledEntities\":[{\"entityId\":\"eed05a28-cfa4-44e4-91f1-4080899543ce\",\"values\":[{\"userText\":\"houston\",\"displayText\":\"houston\",\"builtinType\":null,\"resolution\":null}]}],\"context\":{},\"maskedActions\":[]},\"labelAction\":\"6879c30f-5f5c-4fee-8042-160347782026\",\"metrics\":{\"predictMetrics\":{\"blisTime\":0.009211301803588867,\"contextDialogBlisTime\":0}}}]}]},{\"trainDialogId\":\"e871c08a-3600-4b49-9e3e-c2e8c1db0a6a\",\"rounds\":[{\"extractorStep\":{\"textVariations\":[{\"text\":\"forecast for san diego for friday\",\"labelEntities\":[{\"entityId\":\"778919e3-89c8-433d-96c7-cff2d6c49d5f\",\"startCharIndex\":27,\"endCharIndex\":32,\"entityText\":\"friday\",\"resolution\":{\"values\":[{\"timex\":\"XXXX-WXX-5\",\"type\":\"date\",\"value\":\"2018-07-13\"},{\"timex\":\"XXXX-WXX-5\",\"type\":\"date\",\"value\":\"2018-07-20\"}]},\"builtinType\":\"builtin.datetimeV2.date\"},{\"entityId\":\"eed05a28-cfa4-44e4-91f1-4080899543ce\",\"startCharIndex\":13,\"endCharIndex\":21,\"entityText\":\"san diego\"}]}]},\"scorerSteps\":[{\"input\":{\"filledEntities\":[{\"entityId\":\"778919e3-89c8-433d-96c7-cff2d6c49d5f\",\"values\":[{\"userText\":\"friday\",\"displayText\":\"2018-07-13 or 2018-07-20\",\"builtinType\":\"builtin.datetimeV2.date\",\"resolution\":{\"values\":[{\"timex\":\"XXXX-WXX-5\",\"type\":\"date\",\"value\":\"2018-07-13\"},{\"timex\":\"XXXX-WXX-5\",\"type\":\"date\",\"value\":\"2018-07-20\"}]}}]},{\"entityId\":\"eed05a28-cfa4-44e4-91f1-4080899543ce\",\"values\":[{\"userText\":\"san diego\",\"displayText\":\"san diego\",\"builtinType\":null,\"resolution\":null}]}],\"context\":{},\"maskedActions\":[]},\"labelAction\":\"e47746ea-dc70-4b50-a7e6-53c5580ad48c\",\"metrics\":{\"predictMetrics\":{\"blisTime\":0.011905908584594727,\"contextDialogBlisTime\":0}}}]}]},{\"trainDialogId\":\"246015f8-0a1a-4382-8758-7cc0e0ade31b\",\"rounds\":[{\"extractorStep\":{\"textVariations\":[{\"text\":\"get today's forecast for san antonio\",\"labelEntities\":[{\"entityId\":\"778919e3-89c8-433d-96c7-cff2d6c49d5f\",\"startCharIndex\":4,\"endCharIndex\":8,\"entityText\":\"today\",\"resolution\":{\"values\":[{\"timex\":\"2018-07-18\",\"type\":\"date\",\"value\":\"2018-07-18\"}]},\"builtinType\":\"builtin.datetimeV2.date\"},{\"entityId\":\"eed05a28-cfa4-44e4-91f1-4080899543ce\",\"startCharIndex\":25,\"endCharIndex\":35,\"entityText\":\"san antonio\"}]}]},\"scorerSteps\":[{\"input\":{\"filledEntities\":[{\"entityId\":\"778919e3-89c8-433d-96c7-cff2d6c49d5f\",\"values\":[{\"userText\":\"today\",\"displayText\":\"2018-07-18\",\"builtinType\":\"builtin.datetimeV2.date\",\"resolution\":{\"values\":[{\"timex\":\"2018-07-18\",\"type\":\"date\",\"value\":\"2018-07-18\"}]}}]},{\"entityId\":\"eed05a28-cfa4-44e4-91f1-4080899543ce\",\"values\":[{\"userText\":\"san antonio\",\"displayText\":\"san antonio\",\"builtinType\":null,\"resolution\":null}]}],\"context\":{},\"maskedActions\":[]},\"labelAction\":\"e47746ea-dc70-4b50-a7e6-53c5580ad48c\",\"metrics\":{\"predictMetrics\":{\"blisTime\":0.004861116409301758,\"contextDialogBlisTime\":0}}}]}]},{\"trainDialogId\":\"2fe0e45d-f152-4efc-8557-7c585e2bc18f\",\"rounds\":[{\"extractorStep\":{\"textVariations\":[{\"text\":\"san diego forecast\",\"labelEntities\":[{\"entityId\":\"eed05a28-cfa4-44e4-91f1-4080899543ce\",\"startCharIndex\":0,\"endCharIndex\":8,\"entityText\":\"san diego\",\"resolution\":{}}]}]},\"scorerSteps\":[{\"input\":{\"filledEntities\":[{\"entityId\":\"eed05a28-cfa4-44e4-91f1-4080899543ce\",\"values\":[{\"userText\":\"san diego\",\"displayText\":\"san diego\",\"builtinType\":null,\"resolution\":{}}]}],\"context\":{},\"maskedActions\":[]},\"labelAction\":\"e47746ea-dc70-4b50-a7e6-53c5580ad48c\",\"metrics\":{\"predictMetrics\":{\"blisTime\":0.010271787643432617,\"contextDialogBlisTime\":0}}}]},{\"extractorStep\":{\"textVariations\":[{\"text\":\"get southold forecast\",\"labelEntities\":[{\"entityId\":\"eed05a28-cfa4-44e4-91f1-4080899543ce\",\"startCharIndex\":4,\"endCharIndex\":11,\"entityText\":\"southold\",\"resolution\":{}}]}]},\"scorerSteps\":[{\"input\":{\"filledEntities\":[{\"entityId\":\"eed05a28-cfa4-44e4-91f1-4080899543ce\",\"values\":[{\"userText\":\"southold\",\"displayText\":\"southold\",\"builtinType\":null,\"resolution\":{}}]}],\"context\":{},\"maskedActions\":[]},\"labelAction\":\"e47746ea-dc70-4b50-a7e6-53c5580ad48c\",\"metrics\":{\"predictMetrics\":{\"blisTime\":0.004563808441162109,\"contextDialogBlisTime\":0}}}]}]},{\"trainDialogId\":\"61cf0010-8094-4bf5-b790-5526aa2223b7\",\"rounds\":[{\"extractorStep\":{\"textVariations\":[{\"text\":\"forecast riverhead\",\"labelEntities\":[{\"entityId\":\"eed05a28-cfa4-44e4-91f1-4080899543ce\",\"startCharIndex\":9,\"endCharIndex\":17,\"entityText\":\"riverhead\",\"resolution\":{}}]}]},\"scorerSteps\":[{\"input\":{\"filledEntities\":[{\"entityId\":\"eed05a28-cfa4-44e4-91f1-4080899543ce\",\"values\":[{\"userText\":\"riverhead\",\"displayText\":\"riverhead\",\"builtinType\":null,\"resolution\":{}}]}],\"context\":{},\"maskedActions\":[]},\"labelAction\":\"e47746ea-dc70-4b50-a7e6-53c5580ad48c\",\"metrics\":{\"predictMetrics\":{\"blisTime\":0.010507583618164062,\"contextDialogBlisTime\":0}}}]},{\"extractorStep\":{\"textVariations\":[{\"text\":\"get forecast for southold\",\"labelEntities\":[{\"entityId\":\"eed05a28-cfa4-44e4-91f1-4080899543ce\",\"startCharIndex\":17,\"endCharIndex\":24,\"entityText\":\"southold\"}]}]},\"scorerSteps\":[{\"input\":{\"filledEntities\":[{\"entityId\":\"eed05a28-cfa4-44e4-91f1-4080899543ce\",\"values\":[{\"userText\":\"southold\",\"displayText\":\"southold\",\"builtinType\":null,\"resolution\":null}]}],\"context\":{},\"maskedActions\":[]},\"labelAction\":\"e47746ea-dc70-4b50-a7e6-53c5580ad48c\",\"metrics\":{\"predictMetrics\":{\"blisTime\":0.010514020919799805,\"contextDialogBlisTime\":0}}}]},{\"extractorStep\":{\"textVariations\":[{\"text\":\"get weather\",\"labelEntities\":[]}]},\"scorerSteps\":[{\"input\":{\"filledEntities\":[{\"entityId\":\"eed05a28-cfa4-44e4-91f1-4080899543ce\",\"values\":[{\"userText\":\"southold\",\"displayText\":\"southold\",\"builtinType\":null,\"resolution\":null}]}],\"context\":{},\"maskedActions\":[]},\"labelAction\":\"6879c30f-5f5c-4fee-8042-160347782026\",\"metrics\":{\"predictMetrics\":{\"blisTime\":0.004446983337402344,\"contextDialogBlisTime\":0}}}]},{\"extractorStep\":{\"textVariations\":[{\"text\":\"get weather for riverhead\",\"labelEntities\":[{\"entityId\":\"eed05a28-cfa4-44e4-91f1-4080899543ce\",\"startCharIndex\":16,\"endCharIndex\":24,\"entityText\":\"riverhead\"}]}]},\"scorerSteps\":[{\"input\":{\"filledEntities\":[{\"entityId\":\"eed05a28-cfa4-44e4-91f1-4080899543ce\",\"values\":[{\"userText\":\"riverhead\",\"displayText\":\"riverhead\",\"builtinType\":null,\"resolution\":null}]}],\"context\":{},\"maskedActions\":[]},\"labelAction\":\"6879c30f-5f5c-4fee-8042-160347782026\",\"metrics\":{\"predictMetrics\":{\"blisTime\":0.010509490966796875,\"contextDialogBlisTime\":0}}}]},{\"extractorStep\":{\"textVariations\":[{\"text\":\"get forecast for san diego\",\"labelEntities\":[{\"entityId\":\"eed05a28-cfa4-44e4-91f1-4080899543ce\",\"startCharIndex\":17,\"endCharIndex\":25,\"entityText\":\"san diego\"}]}]},\"scorerSteps\":[{\"input\":{\"filledEntities\":[{\"entityId\":\"eed05a28-cfa4-44e4-91f1-4080899543ce\",\"values\":[{\"userText\":\"san diego\",\"displayText\":\"san diego\",\"builtinType\":null,\"resolution\":null}]}],\"context\":{},\"maskedActions\":[]},\"labelAction\":\"e47746ea-dc70-4b50-a7e6-53c5580ad48c\",\"metrics\":{\"predictMetrics\":{\"blisTime\":0.004609823226928711,\"contextDialogBlisTime\":0}}}]},{\"extractorStep\":{\"textVariations\":[{\"text\":\"get weather for seattle\",\"labelEntities\":[{\"entityId\":\"eed05a28-cfa4-44e4-91f1-4080899543ce\",\"startCharIndex\":16,\"endCharIndex\":22,\"entityText\":\"seattle\"}]}]},\"scorerSteps\":[{\"input\":{\"filledEntities\":[{\"entityId\":\"eed05a28-cfa4-44e4-91f1-4080899543ce\",\"values\":[{\"userText\":\"seattle\",\"displayText\":\"seattle\",\"builtinType\":null,\"resolution\":null}]}],\"context\":{},\"maskedActions\":[]},\"labelAction\":\"6879c30f-5f5c-4fee-8042-160347782026\",\"metrics\":{\"predictMetrics\":{\"blisTime\":0.010826826095581055,\"contextDialogBlisTime\":0}}}]},{\"extractorStep\":{\"textVariations\":[{\"text\":\"get weather for lake george\",\"labelEntities\":[{\"entityId\":\"eed05a28-cfa4-44e4-91f1-4080899543ce\",\"startCharIndex\":16,\"endCharIndex\":26,\"entityText\":\"lake george\"}]}]},\"scorerSteps\":[{\"input\":{\"filledEntities\":[{\"entityId\":\"eed05a28-cfa4-44e4-91f1-4080899543ce\",\"values\":[{\"userText\":\"lake george\",\"displayText\":\"lake george\",\"builtinType\":null,\"resolution\":null}]}],\"context\":{},\"maskedActions\":[]},\"labelAction\":\"6879c30f-5f5c-4fee-8042-160347782026\",\"metrics\":{\"predictMetrics\":{\"blisTime\":0.0051555633544921875,\"contextDialogBlisTime\":0}}}]},{\"extractorStep\":{\"textVariations\":[{\"text\":\"get weather for portland\",\"labelEntities\":[{\"entityId\":\"eed05a28-cfa4-44e4-91f1-4080899543ce\",\"startCharIndex\":16,\"endCharIndex\":23,\"entityText\":\"portland\"}]}]},\"scorerSteps\":[{\"input\":{\"filledEntities\":[{\"entityId\":\"eed05a28-cfa4-44e4-91f1-4080899543ce\",\"values\":[{\"userText\":\"portland\",\"displayText\":\"portland\",\"builtinType\":null,\"resolution\":null}]}],\"context\":{},\"maskedActions\":[]},\"labelAction\":\"6879c30f-5f5c-4fee-8042-160347782026\",\"metrics\":{\"predictMetrics\":{\"blisTime\":0.010433673858642578,\"contextDialogBlisTime\":0}}}]}]},{\"trainDialogId\":\"24324bca-c1a5-4a72-9f00-8230312ffdb6\",\"rounds\":[{\"extractorStep\":{\"textVariations\":[{\"text\":\"hi there\",\"labelEntities\":[]}]},\"scorerSteps\":[{\"input\":{\"filledEntities\":[],\"context\":{},\"maskedActions\":[]},\"labelAction\":\"7fbc0e2f-5a79-4cf8-a2b8-8b7837e4285a\",\"metrics\":{\"predictMetrics\":{\"blisTime\":0.010424613952636719,\"contextDialogBlisTime\":0}}}]}]},{\"trainDialogId\":\"06943458-1f48-46fe-a92b-3e4e11dae34c\",\"rounds\":[{\"extractorStep\":{\"textVariations\":[{\"text\":\"hello there\",\"labelEntities\":[]}]},\"scorerSteps\":[{\"input\":{\"filledEntities\":[],\"context\":{},\"maskedActions\":[]},\"labelAction\":\"7fbc0e2f-5a79-4cf8-a2b8-8b7837e4285a\",\"metrics\":{\"predictMetrics\":{\"blisTime\":0.004800558090209961,\"contextDialogBlisTime\":0}}}]}]},{\"trainDialogId\":\"1f0bc973-30bc-42e6-a0c5-333a5d6e1a0f\",\"rounds\":[{\"extractorStep\":{\"textVariations\":[{\"text\":\"hi\",\"labelEntities\":[]}]},\"scorerSteps\":[{\"input\":{\"filledEntities\":[],\"context\":{},\"maskedActions\":[]},\"labelAction\":\"7fbc0e2f-5a79-4cf8-a2b8-8b7837e4285a\",\"metrics\":{\"predictMetrics\":{\"blisTime\":0.005139589309692383,\"contextDialogBlisTime\":0}}}]},{\"extractorStep\":{\"textVariations\":[{\"text\":\"get weather for atlanta\",\"labelEntities\":[{\"entityId\":\"eed05a28-cfa4-44e4-91f1-4080899543ce\",\"startCharIndex\":16,\"endCharIndex\":22,\"entityText\":\"atlanta\"}]}]},\"scorerSteps\":[{\"input\":{\"filledEntities\":[{\"entityId\":\"eed05a28-cfa4-44e4-91f1-4080899543ce\",\"values\":[{\"userText\":\"atlanta\",\"displayText\":\"atlanta\",\"builtinType\":null,\"resolution\":null}]}],\"context\":{},\"maskedActions\":[]},\"labelAction\":\"6879c30f-5f5c-4fee-8042-160347782026\",\"metrics\":{\"predictMetrics\":{\"blisTime\":0.010392427444458008,\"contextDialogBlisTime\":0}}}]}]},{\"trainDialogId\":\"51eace85-50fa-4651-9c54-a4a5de582233\",\"rounds\":[{\"extractorStep\":{\"textVariations\":[{\"text\":\"get forecast for seattle\",\"labelEntities\":[{\"entityId\":\"eed05a28-cfa4-44e4-91f1-4080899543ce\",\"startCharIndex\":17,\"endCharIndex\":23,\"entityText\":\"seattle\"}]}]},\"scorerSteps\":[{\"input\":{\"filledEntities\":[{\"entityId\":\"eed05a28-cfa4-44e4-91f1-4080899543ce\",\"values\":[{\"userText\":\"seattle\",\"displayText\":\"seattle\",\"builtinType\":null,\"resolution\":null}]}],\"context\":{},\"maskedActions\":[]},\"labelAction\":\"e47746ea-dc70-4b50-a7e6-53c5580ad48c\",\"metrics\":{\"predictMetrics\":{\"blisTime\":0.010570049285888672,\"contextDialogBlisTime\":0}}}]},{\"extractorStep\":{\"textVariations\":[{\"text\":\"bar harbor forecast\",\"labelEntities\":[{\"entityId\":\"eed05a28-cfa4-44e4-91f1-4080899543ce\",\"startCharIndex\":0,\"endCharIndex\":9,\"entityText\":\"bar harbor\",\"resolution\":{}}]}]},\"scorerSteps\":[{\"input\":{\"filledEntities\":[{\"entityId\":\"eed05a28-cfa4-44e4-91f1-4080899543ce\",\"values\":[{\"userText\":\"bar harbor\",\"displayText\":\"bar harbor\",\"builtinType\":null,\"resolution\":{}}]}],\"context\":{},\"maskedActions\":[]},\"labelAction\":\"e47746ea-dc70-4b50-a7e6-53c5580ad48c\",\"metrics\":{\"predictMetrics\":{\"blisTime\":0.010430097579956055,\"contextDialogBlisTime\":0}}}]},{\"extractorStep\":{\"textVariations\":[{\"text\":\"bar harbor weather\",\"labelEntities\":[{\"entityId\":\"eed05a28-cfa4-44e4-91f1-4080899543ce\",\"startCharIndex\":0,\"endCharIndex\":9,\"entityText\":\"bar harbor\",\"resolution\":{}}]}]},\"scorerSteps\":[{\"input\":{\"filledEntities\":[{\"entityId\":\"eed05a28-cfa4-44e4-91f1-4080899543ce\",\"values\":[{\"userText\":\"bar harbor\",\"displayText\":\"bar harbor\",\"builtinType\":null,\"resolution\":{}}]}],\"context\":{},\"maskedActions\":[]},\"labelAction\":\"6879c30f-5f5c-4fee-8042-160347782026\",\"metrics\":{\"predictMetrics\":{\"blisTime\":0.010322093963623047,\"contextDialogBlisTime\":0}}}]},{\"extractorStep\":{\"textVariations\":[{\"text\":\"seattle weather\",\"labelEntities\":[{\"entityId\":\"eed05a28-cfa4-44e4-91f1-4080899543ce\",\"startCharIndex\":0,\"endCharIndex\":6,\"entityText\":\"seattle\",\"resolution\":{}}]}]},\"scorerSteps\":[{\"input\":{\"filledEntities\":[{\"entityId\":\"eed05a28-cfa4-44e4-91f1-4080899543ce\",\"values\":[{\"userText\":\"seattle\",\"displayText\":\"seattle\",\"builtinType\":null,\"resolution\":{}}]}],\"context\":{},\"maskedActions\":[]},\"labelAction\":\"6879c30f-5f5c-4fee-8042-160347782026\",\"metrics\":{\"predictMetrics\":{\"blisTime\":0.00466609001159668,\"contextDialogBlisTime\":0}}}]},{\"extractorStep\":{\"textVariations\":[{\"text\":\"hi\",\"labelEntities\":[]}]},\"scorerSteps\":[{\"input\":{\"filledEntities\":[{\"entityId\":\"eed05a28-cfa4-44e4-91f1-4080899543ce\",\"values\":[{\"userText\":\"seattle\",\"displayText\":\"seattle\",\"builtinType\":null,\"resolution\":{}}]}],\"context\":{},\"maskedActions\":[]},\"labelAction\":\"7fbc0e2f-5a79-4cf8-a2b8-8b7837e4285a\",\"metrics\":{\"predictMetrics\":{\"blisTime\":0.004698038101196289,\"contextDialogBlisTime\":0}}}]},{\"extractorStep\":{\"textVariations\":[{\"text\":\"forecast\",\"labelEntities\":[]}]},\"scorerSteps\":[{\"input\":{\"filledEntities\":[],\"context\":{},\"maskedActions\":[]},\"labelAction\":\"a82611e1-faf3-4b1a-86c0-fb5c0fa54da3\",\"metrics\":{\"predictMetrics\":{\"blisTime\":0.00482177734375,\"contextDialogBlisTime\":0}}}]},{\"extractorStep\":{\"textVariations\":[{\"text\":\"portland\",\"labelEntities\":[{\"entityId\":\"eed05a28-cfa4-44e4-91f1-4080899543ce\",\"startCharIndex\":0,\"endCharIndex\":7,\"entityText\":\"portland\"}]}]},\"scorerSteps\":[{\"input\":{\"filledEntities\":[{\"entityId\":\"eed05a28-cfa4-44e4-91f1-4080899543ce\",\"values\":[{\"userText\":\"portland\",\"displayText\":\"portland\",\"builtinType\":null,\"resolution\":null}]}],\"context\":{},\"maskedActions\":[]},\"labelAction\":\"e47746ea-dc70-4b50-a7e6-53c5580ad48c\",\"metrics\":{\"predictMetrics\":{\"blisTime\":0.010885000228881836,\"contextDialogBlisTime\":0}}}]},{\"extractorStep\":{\"textVariations\":[{\"text\":\"hello\",\"labelEntities\":[]}]},\"scorerSteps\":[{\"input\":{\"filledEntities\":[{\"entityId\":\"eed05a28-cfa4-44e4-91f1-4080899543ce\",\"values\":[{\"userText\":\"portland\",\"displayText\":\"portland\",\"builtinType\":null,\"resolution\":null}]}],\"context\":{},\"maskedActions\":[]},\"labelAction\":\"7fbc0e2f-5a79-4cf8-a2b8-8b7837e4285a\",\"metrics\":{\"predictMetrics\":{\"blisTime\":0.00500798225402832,\"contextDialogBlisTime\":0}}}]}]}]}" }, "request": {} }
master
branch failed. 🚨I recommend you give this issue a high priority, so other packages depending on you could benefit from your bug fixes and new features.
You can find below the list of errors reported by semantic-release. Each one of them has to be resolved in order to automatically publish your package. I’m sure you can resolve this 💪.
Errors are usually caused by a misconfiguration or an authentication problem. With each error reported below you will find explanation and guidance to help you to resolve it.
Once all the errors are resolved, semantic-release will release your package the next time you push a commit to the master
branch. You can also manually restart the failed CI job that runs semantic-release.
If you are not sure how to resolve this, here is some links that can help you:
If those don’t help, or if this issue is reporting something you think isn’t right, you can always ask the humans behind semantic-release.
The npm token configured in the NPM_TOKEN
environment variable must be a valid token allowing to publish to the registry https://registry.npmjs.org/
.
If you are using Two-Factor Authentication, make configure the auth-only
level is supported. semantic-release cannot publish with the default auth-and-writes
level.
Please make sure to set the NPM_TOKEN
environment variable in your CI with the exact value of the npm token.
Good luck with your project ✨
Your semantic-release bot 📦🚀
Question
What is the long term intention of state management for CL? It appears that today it has its own BotState class, that through CLMemory still targets some of of the BotFramework for storage.
Is this a case of CL being out of sync with the latest bot framework where stateAccessors and DI were added to state management in version 4? Or is the intent that CL will always require its own state management, storage etc and not use the bot framework state?
I updated my CL recently, and I was asked to update the model. When I did, I got an error that the payload is too large. This is the same model I had shared with the team a bit ago. Thanks!
⚠ Local package upgraded to enable viewing.
⚪ Requested package id is the same the latest package id. This package is a candidate for saving.
⚠ Requested package id is also the live package id. Cannot safely auto upgrade. User must confirm in UI to save.
PayloadTooLargeError: request entity too large
at readStream (C:\dev\learner\learner-bot-samples\node_modules\raw-body\index.js:155:17)
at getRawBody (C:\dev\learner\learner-bot-samples\node_modules\raw-body\index.js:108:12)
at read (C:\dev\learner\learner-bot-samples\node_modules\body-parser\lib\read.js:77:3)
at jsonParser (C:\dev\learner\learner-bot-samples\node_modules\body-parser\lib\types\json.js:134:5)
at Layer.handle [as handle_request] (C:\dev\learner\learner-bot-samples\node_modules\express\lib\router\layer.js:95:5)
at trim_prefix (C:\dev\learner\learner-bot-samples\node_modules\express\lib\router\index.js:317:13)
at C:\dev\learner\learner-bot-samples\node_modules\express\lib\router\index.js:284:7
at Function.process_params (C:\dev\learner\learner-bot-samples\node_modules\express\lib\router\index.js:335:12)
at next (C:\dev\learner\learner-bot-samples\node_modules\express\lib\router\index.js:275:10)
at Function.handle (C:\dev\learner\learner-bot-samples\node_modules\express\lib\router\index.js:174:3)
This requires changes across service, trainer, and predictor which I'm less familiar with and wanted to get agreement on solution before going ahead with work.
Currently the serive stores the user's LUIS authoring key as part of application data and makes requests to LUIS on behalf of the user
client (SDK) will provide LUIS keys as part of request
Overall: Single place to manage keys in environment variables, simplifies key roll-over, reduced security risk.
luisAuthoringKey
or x-luis-authoring-key
Note about query param vs header. Query params are generally easier to experiment with since they can be simply put in URL although for all the requests we need a key it requires a body anyways so this is irrelevant. Also, query params are usually implied to be optional where as headers are not. To summarize, I think the most technically correct solution is header although I imagine consumers will want query param since that's an option LUIS also offers.
These are the changes I'm less sure of and want verification / feedback on:
Below we will walk through request flow to understand necessary changes:
GET /apps/{appId}/teach/{teachId}/extractor?luisAuthoringKey=abc123
OR
GET /apps/{appId}/teach/{teachId}/extractor
x-luis-authoring-key: abc123
Service sends LUIS key from application as part of request body
var (sessionInfo, trainDialog) = await GetTeachSessionInfoAndDialog(appId, teachId);
var trainerResponse = await GetExtractionResultAsync(appId, userInput.Text, sessionInfo, trainDialog);
Simulated request?
POST /api/v1/extract
{
"text": "abc123",
"model": {
"extractorModel": { ... },
"scorerModel": { ... },
"sourceVersion": "?"
}
}
Predictor Processes request:
luis_key = request_json['model']['extractorModel']['luisKey']
...
luis_prediction = luis_app.predict(request_json['text'])
Updated Service -> Predictor
3 phases:
luisKey
to bodyThis allows non-breaking change for step 1 to be committed through to PROD before predictor is updated. Predictor can still use existing key from app model. Once all predictor code is updatd and we are sure it's safe to do so, we will update app schema to remove the luis key field.
Updated request:
POST /api/v1/extract
{
"text": "abc123",
"luisKey:": "def456",
"model": {
"extractorModel": { ... },
"scorerModel": { ... },
"sourceVersion": "?"
}
}
luis_key = request_json['luisKey']
Note: The field is a generic
luisKey
becuase the authoring OR subscription key can be used here.
The service does not send request to trainer directly. Service puts messages on the queue and the trainer processes them in oder.
Walk through example scenario that would trigger training such as adding an action:
POST /apps/{appId}/actions
x-luis-authoring-key: abc123
{...}
return await _packageTransformer.TransformPackageAndUpdate(appId, packageTransformer, onAdded);
return await EnqueueAsync(appId, fromScratch);
var msg = new CloudQueueMessage(new(string, object)[]
{
(@"appId", appId),
(@"fromScratch", fromScratch)
}
.ToJsonObject().ToString());
Trainer: Get appId from message
item = message.content.decode('UTF-8').replace("\r\n", "")
item_json = json.loads(item)
app_id = item_json['appId']
Trainer -> Service
/api/v1/app/{}/pendingPackage
Then gets luisKey from packageSource
luis_key = package['luisKey']
Similar to the change to predictor. We will add new field on the queue message luisAuthoringKey
which will be used for processing the changes to the package.
Note: In this case the name is specific because training does require authoring key.
3 phases:
luisKey
to queue messageThere are some unique alternatives for this one.
Given that the package transformer callbacks have the entire package avaiable, they can use the key from existing app model now while service is updated to provide one during request.
** Updated Message **
var msg = new CloudQueueMessage(new(string, object)[]
{
(@"appId", appId),
(@"luisAuthoringKey", luisAuthoringKey),
(@"fromScratch", fromScratch)
}
.ToJsonObject().ToString());
luis_key = item_json['luisKey']
1. What are the opinions on using separate params / headers for authoring vs subscription key?
This keeps the SDK relatively simple. If it has a key it will provide it. However, server now has to know which place to look based on operation.
This also opens up scenario of using both keys if perhap we wanted to add an entity to app, and also immediately get utterance predictions using subscription key, although I'm not sure if this is valid scenario. (It woudld be simpler to just use authoring key for both requests)
An alternative is that the complexity of choosing the key could be moved to SDK and only send single param / header x-luis-key
or luisKey
For /session routes it will use subscription key and fallback to authoring key. For all other routes it will always use authoring key.
In this case the service doesn't need to and will not know if the key is an authoring key or subscription key.
2. What are solutions to fail fast given an invalid key?
If the value for luis key the server has is invalid for whatever reason (key has beend rolled over, developer put typo, etc) it would be nice to fail early rather than waitin for trainer queue message etc. Could we perhaps quickly make a request to APIM for some /ping like route to validate the key instead of delaying? It might not be worth it, but if our trainer has automatic retry and it would need to know not to retry due to invalid key exceptions.
3. Do you agree with changes for trainer and predictor?
Is there a better alternative other than one proposed?
@conversationlearner/sdk
version: 0.275.7
When scoring API actions in training, the result of the action won't be sent back to the training dialog, as there's no conversation reference found. Furthermore, this.adapter
appears to be null
, thus no message can be sent back to the training dialog:
As both checks will fail, the API actions won't be called after being scored.
It appears, undoing a new, temporary action (e.g. entering foo
and undoing it) will invoke the actions and make the UI render the whole history. This seems to be due to conversation learner re-executing the whole history.
This execution might also raise some more issues when interacting with realtime APIs, whose data might change while undoing an action, as the results, the conversation learner relies on, may change.
I was working on a demo bot from one of the samples on ConversationLearner-Samples , and I noticed some strange behaviour.
I added Translation Middleware (like this: v4 JS Translation Docs) and I have had one main problem.
The problem appears when you train ConversationLearner to send to the user many messages in a row (without waiting for the user to reply). In this scenario, the first message is translated back to the user language, but the rest remain in english.
I digged into the code to find the cause, and as I see, the problem is with the context.
The translation middleware is adding a "listener" to the context, which executes every time a message is sent to the user. However, as you can see in CLRunner.ts:650, in all messages excepting the first, what CL SDK is doing is resuming the conversation, and getting a context from the ConversationReference object.
My suspicion is that this context doesn't have, for some reason, any middleware attached.
Any clue on this?
Thank you in advance.
🚨 You need to enable Continuous Integration on all branches of this repository. 🚨
To enable Greenkeeper, you need to make sure that a commit status is reported on all branches. This is required by Greenkeeper because it uses your CI build statuses to figure out when to notify you about breaking changes.
Since we didn’t receive a CI status on the greenkeeper/initial
branch, it’s possible that you don’t have CI set up yet. We recommend using Travis CI, but Greenkeeper will work with every other CI service as well.
If you have already set up a CI for this repository, you might need to check how it’s configured. Make sure it is set to run on all new branches. If you don’t want it to run on absolutely every branch, you can whitelist branches starting with greenkeeper/
.
Once you have installed and configured CI on this repository correctly, you’ll need to re-trigger Greenkeeper’s initial pull request. To do this, please delete the greenkeeper/initial
branch in this repository, and then remove and re-add this repository to the Greenkeeper App’s white list on Github. You'll find this list on your repo or organization’s settings page, under Installed GitHub Apps.
master
branch failed. 🚨I recommend you give this issue a high priority, so other packages depending on you could benefit from your bug fixes and new features.
You can find below the list of errors reported by semantic-release. Each one of them has to be resolved in order to automatically publish your package. I’m sure you can resolve this 💪.
Errors are usually caused by a misconfiguration or an authentication problem. With each error reported below you will find explanation and guidance to help you to resolve it.
Once all the errors are resolved, semantic-release will release your package the next time you push a commit to the master
branch. You can also manually restart the failed CI job that runs semantic-release.
If you are not sure how to resolve this, here is some links that can help you:
If those don’t help, or if this issue is reporting something you think isn’t right, you can always ask the humans behind semantic-release.
The npm token configured in the NPM_TOKEN
environment variable must be a valid token allowing to publish to the registry https://registry.npmjs.org/
.
If you are using Two-Factor Authentication, make configure the auth-only
level is supported. semantic-release cannot publish with the default auth-and-writes
level.
Please make sure to set the NPM_TOKEN
environment variable in your CI with the exact value of the npm token.
Good luck with your project ✨
Your semantic-release bot 📦🚀
I have a flow in which I collect a few different entity values, some of which are built-in numbers. When I make an API call passing the values, the multi-value number entities are passed as a string "{number} and {number}". I would imagine I could get them as an array or something, but calls to the memoryManager.EntityValueAsList
or memoryManager.EntityValueAsPrebuilt
both return empty arrays. What is the right away to resolve multi-value entities in an API call action?
I can't seem to make the UI application run on an Azure Web App. I don't know how to configure iss using web.config
to work with startUiServer()
.
Could anyone please point me in the right direction? I lost 3 days trying multiple methods.
First of all, very cool project :)
How hard would be to add new languages? How could I help with that? Can you give me some directions?
Thanks
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.