Skip to content
This repository was archived by the owner on Jul 9, 2025. It is now read-only.
This repository was archived by the owner on Jul 9, 2025. It is now read-only.

Taking control of recognizer dialog generation and make composer authored bot CI/CD friendly #4259

@boydc2014

Description

@boydc2014

Context

Composer leverages bf-cli, in particularly, bf cross-train, bf luis:build and bf qna:build to do cross-train, luis and qna publishing. Besides that bf-cli does one more thing is generating those .dialog for recognizers, 3 type of recognizers usually

  • .<locale>-lu.dialog, which is a LUIS recognizer
  • .lu.dialog which is a MultiLanguageLuis recognizer
  • .lu.qna.dialog which is a CrossTrainedRecognizerSet

Issue

The issue is those "recognizer dialogs" are generating along with the build processing. It's been generated every time a publish happens and it leave user no control on that, for example user want to make some adjustment on LUIS recognizer #4205. Because it will be overridden every time a publishing happens again.

Solution

If we look at the recognizer dialogs, it's actually all fixed values or reference to settings, so conceptually it's not tighten to the build\publishing result.

So in Composer's POV, it make sense to take control of this processing in composer. Composer will generate that first and support user to author those .dialog files even before a real publishing is happening.

This will also relief bf-cli from have to do something as a side-car, and help keep cli focus, along with this change the cli can be purely

  • cross-train will take a config + .lu + .qna and generate cross-trained .lu and .qna files
  • luis:build will take .lu and keys, and generate a .lu.settings as result
  • qna:build will take .qna and keys, and generate a .qna.settings as result

none of those will have to touch recognizer dialogs.

Details

Composer will create a new folder called "recognizers" along with the dialogs\runtime\settings folder, and store those .dialogs and also the cross-train config.

Composer will generated those recognizer dialogs when recognizer is chosen (before publishing).

Composer will call bf-cli to do cross-train, luis publish, and qna publish and have the result in generated folder, which will now only contain cross-trained lu and qna files and the lu and qna settings.

This "recognizers" folder will be checked in as bot assets, this generated folder remains to be not checked in.

Metadata

Metadata

Labels

Area: InfraP0Must Fix. Release-blockerTeam: Platformfeature-requestA request for new functionality or an enhancement to an existing one.

Type

No type

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions