microsoft / conversationlearner-samples Goto Github PK
View Code? Open in Web Editor NEWSample bot using the ConversationLearner SDK
License: MIT License
Sample bot using the ConversationLearner SDK
License: MIT License
Getting this error for empty bot or conversation learner UI
node ./lib/ui.js
module.js:549
throw err;
^
Error: Cannot find module 'fetch-ponyfill'
at Function.Module._resolveFilename (module.js:547:15)
at Function.Module._load (module.js:474:25)
at Module.require (module.js:596:17)
at require (internal/module.js:11:18)
at getFetch (C:\Users\mahasan\cl-bot-01\node_modules\ms-rest-js\dist\lib\util\utils.js:58:12)
at Object. (C:\Users\mahasan\cl-bot-01\node_modules\ms-rest-js\dist\lib\util\utils.js:64:19)
at Module._compile (module.js:652:30)
at Object.Module._extensions..js (module.js:663:10)
at Module.load (module.js:565:32)
at tryModuleLoad (module.js:505:12)
.
When creating a new Action, pre-built entities should appear on the Entities List for the field "Expected Entity Reponse".
Documentation: https://docs.microsoft.com/en-us/azure/cognitive-services/labs/conversation-learner/tutorials/7-built-in-entities
Hi @LarsLiden , I have requested an invitation to the MS Conversation Learner but have not recieved any email
Report a bug
The function memoryManager.RememberEntityAsync() will fail when the builtin_datetimev2 entity is a daterange.
I am manipulating a builtin_datetimeV2 entity for my bot. Sometimes I need to make a copy of the current builtin_datetimev2 entity into a new entity created by myself named dateTimeNorm. It is a custom entity.
In the code, I first get the current value of builtin-datetimev2 by
var newDateTime = await memoryManager.EntityValueAsPrebuiltAsync("builtin-datetimev2");
Then I copy the value to dateTimeNorm by the following.
if(newDateTime.length>0){
//
await memoryManager.ForgetEntityAsync("dateTimeNorm");
await memoryManager.RememberEntityAsync("dateTimeNorm", newDateTime);
//await memoryManager.ForgetEntityAsync("companyName");
}
The problem is, when builtin-datetimev2 is a date type (e.g. 3-12-2018), there is not problem. However, if it is a daterange (e.g. past six months), RememberEntityAsync will throw out an error.
Log is as follows.
My Apps
Settings
Mycroft-V2
Tag: MasterLIVE
Status: Running
Last Updated: 17 hours agoRefresh
Home
Entities
10
Actions
12
Train Dialogs
13
Log Dialogs
Settings
My Apps
Train Dialogs
Train Dialogs are example conversations you want your bot to imitate
Search:
Entity:
Action:
what is mad of today
ConversationLearnerDeveloper
MetricAPI: mad 2018-06-12
Bot
what is mad of yesterday ?
ConversationLearnerDeveloper
MetricAPI: mad 2018-06-11
Bot
what is mad of march 12,2018
ConversationLearnerDeveloper
MetricAPI: mad 2018-03-12
Bot
what is mad last week
ConversationLearnerDeveloper at 12:09:58 AM
Type your message...
Train Dialog
User Input
Entity Memory
Entity Detection
Select text to label it as an entity
what is
+metric
mad last week
Pre-Built Entities:
what is mad
last week
Add alternative input...
RUN_SCORER_ASYNC Failed
Request failed with status code 400
{"data":"Bad Request\n{"FilledEntities[3].Values[0].DisplayText":["The field DisplayText must be a string with a maximum length of 200."]}","status":400,"statusText":"Bad Request","headers":{"date":"Tue, 12 Jun 2018 07:10:02 GMT","content-type":"application/json","content-length":"135"},"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":"A-ed08ca4d27e1f1988c26000f7e0eef967b55c2e67853c169b1af84b20063d0a2"},"method":"put","url":"http://localhost:5000/app/51672d83-dc56-46b0-ae43-f3c0a02bbd2b/teach/62550b87-8c74-409d-8fb0-ce62ff752da2/scorer","data":"{\"trainExtractorStep\":{\"textVariations\":[{\"text\":\"what is mad last week","labelEntities":[{"score":0.9784021,"entityId":"3bdee2dd-9d47-4e92-8422-c7dbefb4e110","startCharIndex":8,"endCharIndex":10,"entityText":"mad"},{"score":0,"entityId":"bd4c8838-c86f-4908-a930-171c80e54244","startCharIndex":12,"endCharIndex":20,"entityText":"last week","resolution":{"values":[{"end":"2018-06-11","start":"2018-06-04","timex":"2018-W23","type":"daterange"}]},"builtinType":"builtin.datetimeV2.daterange"}]}]},"extractResponse":{"tokenMetadata":[],"tokenizedText":[],"text":"what is mad last week","predictedEntities":[{"score":0.9784021,"entityId":"3bdee2dd-9d47-4e92-8422-c7dbefb4e110","startCharIndex":8,"endCharIndex":10,"entityText":"mad"},{"score":0,"entityId":"bd4c8838-c86f-4908-a930-171c80e54244","startCharIndex":12,"endCharIndex":20,"entityText":"last week","resolution":{"values":[{"end":"2018-06-11","start":"2018-06-04","timex":"2018-W23","type":"daterange"}]},"builtinType":"builtin.datetimeV2.daterange"}],"metrics":{"predictMetrics":{"contextDialogBlisTime":0.009719371795654297,"luisTime":0.07672429084777832}},"packageId":"2e32e993-3712-42b5-82fb-14fa7489b023","definitions":{"entities":[{"entityId":"893ee862-839e-431e-85b5-8956ebebc0b8","entityName":"companyName","entityType":"LUIS","isMultivalue":true,"isNegatible":true,"isReversable":false,"negativeId":"db93c269-7614-449c-9146-e31f2a7f904c"},{"entityId":"db93c269-7614-449c-9146-e31f2a7f904c","entityName":"~companyName","entityType":"LUIS","isMultivalue":true,"isNegatible":true,"isReversable":false,"positiveId":"893ee862-839e-431e-85b5-8956ebebc0b8"},{"entityId":"adfd39d5-f6d5-401c-b4a5-3848748bbe4b","entityName":"companyNameNorm","entityType":"LOCAL","isMultivalue":true,"isNegatible":false,"isReversable":false},{"entityId":"95dbb076-ce29-413e-9831-51f4dec1c044","entityName":"filter","entityType":"LUIS","isMultivalue":true,"isNegatible":true,"isReversable":false,"negativeId":"e364b1a6-bd24-4352-8143-7aaaca424e0f"},{"entityId":"e364b1a6-bd24-4352-8143-7aaaca424e0f","entityName":"~filter","entityType":"LUIS","isMultivalue":true,"isNegatible":true,"isReversable":false,"positiveId":"95dbb076-ce29-413e-9831-51f4dec1c044"},{"entityId":"688d4dfa-39fb-4c90-a9f8-430f4eccd57f","entityName":"filterNorm","entityType":"LOCAL","isMultivalue":true,"isNegatible":false,"isReversable":false},{"entityId":"3bdee2dd-9d47-4e92-8422-c7dbefb4e110","entityName":"metric","entityType":"LUIS","isMultivalue":true,"isNegatible":true,"isReversable":false,"negativeId":"a6dd6c26-0f35-45d5-a01c-212a5b9c13ca"},{"entityId":"a6dd6c26-0f35-45d5-a01c-212a5b9c13ca","entityName":"~metric","entityType":"LUIS","isMultivalue":true,"isNegatible":true,"isReversable":false,"positiveId":"3bdee2dd-9d47-4e92-8422-c7dbefb4e110"},{"entityId":"f504b7d1-811c-44e0-ada3-8f8c2b9dfd80","entityName":"metricNorm","entityType":"LOCAL","isMultivalue":true,"isNegatible":false,"isReversable":false},{"entityId":"222525e8-6162-4ccf-ab9b-b13eb9bc2260","entityName":"slicer","entityType":"LUIS","isMultivalue":false,"isNegatible":true,"isReversable":false,"negativeId":"2818e3c7-9ce3-4655-b63a-85a7687fb8c7"},{"entityId":"2818e3c7-9ce3-4655-b63a-85a7687fb8c7","entityName":"~slicer","entityType":"LUIS","isMultivalue":false,"isNegatible":true,"isReversable":false,"positiveId":"222525e8-6162-4ccf-ab9b-b13eb9bc2260"},{"entityId":"64c2fd94-8c62-4d7f-9030-5ed6541f2d4e","entityName":"slicerNorm","entityType":"LOCAL","isMultivalue":false,"isNegatible":false,"isReversable":false},{"entityId":"bd4c8838-c86f-4908-a930-171c80e54244","entityName":"builtin-datetimev2","entityType":"datetimeV2","isMultivalue":true,"isNegatible":false,"isReversable":false},{"entityId":"4cf3e432-9da3-47f0-8f51-465b56b0ac24","entityName":"dateTimeNorm","entityType":"LOCAL","isMultivalue":true,"isNegatible":false,"isReversable":false}]}}}"},"request":{}}
I expect memoryManager.RememberEntityAsync works equally well for both date type and daterange type.
Windows Version 1803 OS build 17134.48
node v8.11.1
npm 5.6.0
Chrome Version 66.0.3359.181 (Official Build) (64-bit)
Report a bug
I tried add an API action. I selected the API then pressed the info button for the first argument. From here, I can not close the info panel.
I expect to be able to close the help tab and get back to work
macOS High Sierra 10.13.5
node 10.3.0
npm 6.1.0
Chrome Version 67.0.3396.87 (Official Build) (64-bit)
Bug
When building there is a compilation error:
src/demos/demoMultiCL.ts:23:63 - error TS2339: Property 'port' does not exist on type 'string | AddressInfo'.
Property 'port' does not exist on type 'string'.
console.log(`Server listening to ${listener.address().port}`)
Build should complete without errors
N/A
I believe the issue is that @types/node version is not specified in package.json. It is resolved in package-lock.json but only based on the current installed version of node as it's dependency of other node libraries.
Solution 1:
Add @types/node to package.json in hopes that it locks it within package-lock.json instead of using "*"
Solution 2:
Avoid using address().port
and simply use outer variable config.botPort
which was given to server.
E:\git\my-bot-01\lib\app.js:35
const { bfAppId, bfAppPassword, clAppId } = config_1.default, clOptions = __rest(config_1.default
^SyntaxError: Unexpected token {
at exports.runInThisContext (vm.js:53:16)
at Module._compile (module.js:373:25)
at Object.Module._extensions..js (module.js:416:10)
at Module.load (module.js:343:32)
at Function.Module._load (module.js:300:12)
at Function.Module.runMain (module.js:441:10)
at startup (node.js:139:18)
at node.js:968:3
An error called "DELETE_TRAIN_DIALOG_REJECTED Failed" is triggered when an "Action" is created with the "Wait for Response?" field not checked.
Could you check please?
Thank you guys!
When creating and training dialogs within an app the "Status" field on the left side of the GUI is constantly "Queued". I see a red error icon flash next to it very briefly intermittently, but never long enough for me to click on and capture the actual error.
Since none of my apps ever complete their training I am unable to publish any of the apps I have built. Is there a way to force training or even see details behind what is causing this error?
Viewing UI in Chrome
I have a conversational flow that supports collecting data to execute a stock trade. It gathers about six pieces of data, such as an action (buy/sell), expiration (today, good until canceled), type (market, limit), quantity and ticker. If the type is limit, I also need a limit price.
Turns out that limit price and the quantity are both number entities (duh). This is great because I get to use the power that LUIS number entities bring to the picture. However, it gets weird in the API Callback because I get an array of 2 values for that entity. What is the best way to "tag" the builtin.number values. My approach is to create entities called LimitPrice and Quantity and have my trade code resolve the value from the number entity by matching the value of LimitPrice to the right builtin.number entity by text. Same for Quantity. Is this the best approach?
Thanks!
-s
I have opened port 5050 to get access to the UI. But nothing else. Botservice should be running:
Creating Conversation Learner Client....
Starting DOL (Direct Offline):
Can you help?
I want to report a bug
While connecting to the UI using Firefox 61.0.1 (or even Edge), I get a network error. Chrome works fine.
I don't get any errors in the consoles where I started the bot and the UI.
Example:
Windows 10 Enterprise Version 1709 OS Build 16299.492
node v8.8.0
npm 5.4.2
Firefox 61.0.1 (64-bit)
After working through the Quickstart and executing npm run ui, the UI loads with the following error: FETCH_APPLICATIONS_ASYNC Failed
Request failed with status code 403
Forbidden "Current user is not activated in the system!"
Confirmed:
It is unclear how to response with a card from a callback. App.ts refers to BB.Activity
, but that type isn't available in that namespace. Tried returning the result of calling BB.CardFactory.heroCard
but nothing was sent back to the emulator.
Thanks
-s
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.