microsoft / BotFramework-Composer

Dialog creation and management for Microsoft Bot Framework Applications
https://docs.microsoft.com/en-us/composer/
MIT License
870 stars 372 forks source link

Error - Failed to bind luis prediction resource to luis applications." in V1.4.0 ( V1.2.x & V1.3.x has different error messages) #7087

Closed lampeTechnidoo closed 3 years ago

lampeTechnidoo commented 3 years ago

On publishing as web service i got this error. Error - Failed to bind luis prediction resource to luis applications. Please check if your luisResource is set to luis prediction service name in your publish profile."

Reproduce steps:

  1. Install the windows composer application in V1.2.1 , 1.3.0, 1.3.1 or V1.4.0.
  2. Create and bot with luis and set the settings or take an example and set the settings
  3. start bot locally and see if it worked and luis erressource created for locally build
  4. if passed configure publish setting as shown below and trie to publish

Evertytime with many variantions it failed with the above-mentioned errors. Since last week to the ressource group congitive contrubutor role was added for the publish account. But same errors again. And I am very disappointed missing reaction on main issue [Issue 6482] (https://github.com/microsoft/BotFramework-Composer/issues/6482).

Here is my publishing profile image

"resourceGroup", "botName", "subscriptionId", "region" was insitially set but in the many tries it has no effect and so in new settings I didn' fill them with values.

accessToken is not needed for V1.4.0 but was needed for V1.2.1.

MyBot3-LUIS-Authoring Resource group:RG-TestDeploy-LogApps-110221 Location:westeurope Primary Key: Secondary Key: Endpoint URL: https://mybot3-luis-authoring.cognitiveservices.azure.com/

MyBot3-LUIS-Prediction Resource group:RG-TestDeploy-LogApps-110221 Location:westeurope Primary Key: Secondary Key: Endpoint URL: https://mbot3-luis-prediction.cognitiveservices.azure.com/

GeoffCoxMSFT commented 3 years ago

When creating the LUIS keys, the authoring key gets a suffix of '-Authoring', but the prediction key does not. This configuration above shows the LUIS prediction resource as having a '-Prediction' suffix. @lampeTechnidoo Could you double check that the values you have in your config for LUIS correspond to the LUIS key resource names you have provisioned in Azure?

lampeTechnidoo commented 3 years ago

When creating the LUIS keys, the authoring key gets a suffix of '-Authoring', but the prediction key does not. This configuration above shows the LUIS prediction resource as having a '-Prediction' suffix. @lampeTechnidoo Could you double check that the values you have in your config for LUIS correspond to the LUIS key resource names you have provisioned in Azure?

I tried in the past many and it is a high probability that named it not ***-Authoring, I called it often -Auth.

Then i will make a remark for that, the web deploy guide. It is very undetailed, so ok users must have a little bit knowledge, but unwritten naming convention, where user should know it, but I used the luis ressource key instead that. Is it a fix or not? Or is it only needed on on on not fitting naming conventions, why is that not mentioned in the guide? why such things are not written in the guide?

But last weeks I don't know I tried many i don't know which composer, one time I use this 3 ressources:

-LUIS-Authoring -LUIS-Prediction ***-LUIS

so if no other things will block this , i should have my prepared for this case. I am now 2 weeks i have done nothing with it, so i don 't know what i have tested last. So I assumed the problem could be eventually in one or in combination of the following thngs:

If I have time I can test it again, but I think i have included this case.

Can you post an example json file with marked replacement (fictive names but should working) and how the naming will work or which real ressources are "minimal" needed for luis bot?

lampeTechnidoo commented 3 years ago

I tried it correct in the past.

And update with Composer V1.4.1 (Windows) it fails with same message.

With the prediction ressource name it is not the problem.

The problem is now known since mddle - end of march, but no solution for.

Can you make some proposals how to solve?

lampeTechnidoo commented 3 years ago

Last friday i tested the night build composer

(Version:  2.0.0-nightly.243450.6728c56
Electron: 8.2.4
Chrome: 80.0.3987.165
NodeJS: 12.13.0
V8: 8.0.426.27-electron.0)

and there ws "Create new ressorces" selactable for me, I did and publishing finished, but only webchat was available, not per URL and framework emulator.

after that i could use the publishing profile and prepublish it with changes, but chat is only reachable as webchat.

On calling

https:///api/messages

I got this error:

Diese Seite funktioniert nicht Falls das Problem weiterhin besteht, wenden Sie sich an den Inhaber der Website. HTTP ERROR 405

It is a nightly build version so it is expectable that not all worked correct, but it seems creating the resources for publishing work correct, but the resources are not correct. clicked on Manage near App ID  in App service configuration

I am really new with chatbot development so I have not the experience what goes wrong.

Can someone help me a little bit, what i can do or getting more debug infos or similar. Something what could help me.

SSanjeevi commented 3 years ago

@GeoffCoxMSFT - Am also facing this issue in v2.0.0 of composer.

I have created the azure resources and used existing resources feature to fill in the keys.

Am getting this error: The error message is: Error - Failed to bind luis prediction resource to luis applications. Please check if your luisResource is set to luis prediction service name in your publish profile."

someonelikeTIM commented 3 years ago

I am having the same issue. I published without problems until I added a prediction resource today. Now it fails to publish with that same error. Composer v2.0 / C#

SSanjeevi commented 3 years ago

It worked after adding "LuisResource" in the publish profile with name of prediction resource.

"LuisResource":"nameofpredictionRuntimeresname"

someonelikeTIM commented 3 years ago

I already have that in the publish profile. I even created a new publish profile with all new azure resources and still get the same error. Unable to move a bot into prod because of this blocker.

SSanjeevi commented 3 years ago

Try adding it in two levels.

ma9az commented 3 years ago

Hi, am experiencing the same issue of the luis prediction service failing to bind to the luis applications.

Luis resource defined in the publishing profile is correct and has been provisioned in the same region of West US as the resources of the bot have been so.

The luis prediction service and luis authoring resource have also been attached to the LUIS application synced to the bot.

I am using version 2.1.0 of the Bot Framework Composer.

The problem persists with nightly build version of the Composer as well and I am unable to provision resources on my own due to company restrictions.

Is there any other possible way to deduce the source of this problematic issue?

SSanjeevi commented 3 years ago

{ "name": "", "environment": "dev", "tenantId": "", "hostname": "", "runtimeIdentifier": "win-x64", "resourceGroup": "", "botName": "", "subscriptionId": "", "region": "eastus", "appServiceOperatingSystem": "windows", "scmHostDomain": "", "luisResource": "luisResourceName", "settings": { "applicationInsights": { }, "cosmosDb": { }, "blobStorage": { }, "luis": { "authoringKey": "", "authoringEndpoint": "", "endpointKey": "", "endpoint": "", "region": "eastus", "luisAuthoringKey": "", "authoringRegion": "westus", "luisAuthoringRegion": "westus", "luisResource": "luisResourceName" }, "qna": { "subscriptionKey": "", "endpoint": "" }, "MicrosoftAppId": "", "MicrosoftAppPassword": "", "luisResource": "luisResourceName" } }

@ma9az @someonelikeTIM - Added the Luis Resource name (name of Luis cognitive runtime resource ) -

luisResourceName

Field in these three levels and it started working - not sure am doing correctly or which level value make it work.

ma9az commented 3 years ago

@SSanjeevi Thank you for giving a suggestion. Unfortunately, it failed to work. The last level was automatically redacted by the composer as it detected duplication of values.