microsoft / botframework-components

The repository for components built by Microsoft for the Azure Bot Framework.
https://aka.ms/botdocs
MIT License
112 stars 82 forks source link

All intents should be imported if intents property is not present in the manifest #1261

Open gabog opened 3 years ago

gabog commented 3 years ago

Currently, if I try to import a zipped manifest with a reference to a lu file, composer requires that the intents property is present in order to allow me to select which intents to import.

This is incorrect, the intents property is optional, meaning that if it is not present, all the intents in the lu file should be imported.

For example:

Give this manifest fragment

  "dispatchModels": {
    "languages": {
      "en-us": [
        {
          "name": "FinanceSkillSkill LU (English)",
          "contentType": "application/lu",
          "url": "language-understanding/finance-luis-en.lu",
          "description": "English language model for the skill"
        }
      ]
    },
    "intents": [
        "IntentA",
        "IntentB"
    ]

Only the utterances for IntentA and IntentB should be imported.

But given the following manifest fragment where the intents property is not present:

  "dispatchModels": {
    "languages": {
      "en-us": [
        {
          "name": "FinanceSkillSkill LU (English)",
          "contentType": "application/lu",
          "url": "language-understanding/finance-luis-en.lu",
          "description": "English language model for the skill"
        }
      ]
    }

All the intents in the referenced finance-luis-en.lu file should be imported.

Additional details

Here is a link to the documentation on DispatchModels: https://docs.microsoft.com/en-us/azure/bot-service/skills-write-manifest?view=azure-bot-service-4.0&tabs=v2-2#dispatch-models

Here is a link to the description for the intents element in the manifest schema: https://github.com/microsoft/botframework-sdk/blob/main/schemas/skills/v2.2/skill-manifest.json#L108

Version

Version: 2.1.1 Electron: 8.2.4 Chrome: 80.0.3987.165 NodeJS: 12.13.0 V8: 8.0.426.27-electron.0

alishajain7 commented 3 years ago

I tried adding the utterances in LUIS without specifying the intents in the manifest file. Hence, was not able to import any if the intents in this case. We have 10-15 intents in individual LUIS for each skill. It will be tedious to add them all to the manifest manually. +1 if we can leave the intents property blank in manifest and hence importing all intents to Composer.