Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Typescript 有没有办法将技能手动连接到Microsoft虚拟助手?无需运行连接_Typescript_Azure_Botframework - Fatal编程技术网

Typescript 有没有办法将技能手动连接到Microsoft虚拟助手?无需运行连接

Typescript 有没有办法将技能手动连接到Microsoft虚拟助手?无需运行连接,typescript,azure,botframework,Typescript,Azure,Botframework,我跟随微软的虚拟助手文档,在typescript中创建了一个技能和VA,每个都可以独立正确运行。我正在尝试将技能与VA联系起来 当我运行botskills connect时,出现了一系列错误,这似乎是因为我手动设置了技能和VA的Azure资源,而不是deploy.ps1。由于公司的治理和政策,我无法运行deploy.ps1,而是通过公司ARM模板或Azure门户创建Azure资源 为了解决这个问题,botskills connect的具体功能是什么?我可以自己执行这些步骤吗?我找不到关于如何在不

我跟随微软的虚拟助手文档,在typescript中创建了一个技能和VA,每个都可以独立正确运行。我正在尝试将技能与VA联系起来

当我运行
botskills connect
时,出现了一系列错误,这似乎是因为我手动设置了技能和VA的Azure资源,而不是deploy.ps1。由于公司的治理和政策,我无法运行deploy.ps1,而是通过公司ARM模板或Azure门户创建Azure资源


为了解决这个问题,botskills connect的具体功能是什么?我可以自己执行这些步骤吗?我找不到关于如何在不运行
botskills connect
的情况下将技能连接到VA的文档

不幸的是,如果没有列出实际错误,我无法帮助您解决这些问题,但我可以告诉您连接的目的

在引擎盖下,botskills connect对您的技能清单和认知模型运行一系列验证。解决这些问题后,它将创建一个新的ConnectSkills对象,并在该对象上调用“.ConnectSkills”

该函数再运行几个验证,然后运行.connectSkillsManifest

此新功能更新Dispatch以涵盖您技能中的新认知模型,最后,在您的VA机器人中创建“skillmanifest”,并在其中添加您的新技能:

private-async-connectSkillManifest(认知模型文件:ICognitiveModel,skillManifest:IManifest):承诺{
试一试{
//以VA技能配置为例
const-assistantSkillsFile:iappset=JSON.parse(readFileSync(this.configuration.appsetingsfile,'UTF8');
const assistantSkills:ISkill[]=assistantSkills文件.botFrameworkSkills!==未定义?assistantSkills文件.botFrameworkSkills:[];
//检查技能是否已连接到助手
if(assistantSkills.find((assistantSkill:ISkill):boolean=>assistantSkill.id==skillManifest.id)){
this.logger.warning(`ID为'${skillManifest.ID}'的技能已注册。`);
返回;
}
//验证文化
等待这个消息。validateCultures(认知模型文件,skillManifest.luisDictionary);
//更新调度
this.logger.message('update Dispatch');
等待这个.updateModel(skillManifest.luisDictionary,skillManifest.id);
//将技能清单添加到助手技能数组
此.logger.message(`Appending'${skillManifest.name}'清单到助手的技能配置文件。`);
//使用助手技能数组更新助手技能文件的技能属性
//写入(和重写)助手技能文件
//writeFileSync(this.configuration.skillsFile,JSON.stringify(assistantSkillsFile,未定义,4));
等待这个。添加技能(助手技能文件、助手技能、技能清单);
this.logger.success(`successfulladded'${skillManifest.name}'清单到助手的技能配置文件!`);
//配置机器人身份验证设置
//此.logger.message('Configuring bot auth settings');
//等待this.authenticationUtils.authenticate(this.configuration、skillManifest、this.logger);
}捕捉(错误){
this.logger.error(`将技能连接到助手时出错:\n${err}`);
}
}

我的打字脚本技能有点生疏,但这都是在TS中完成的,现在你知道了它的隐藏位置,你可能会更容易解析它

感谢您的回复,我在这里发布了一个带有我具体错误的后续问题:
private async connectSkillManifest(cognitiveModelsFile: ICognitiveModel, skillManifest: IManifest): Promise<void> {
        try {
            // Take VA Skills configurations
            const assistantSkillsFile: IAppSetting = JSON.parse(readFileSync(this.configuration.appSettingsFile, 'UTF8'));
            const assistantSkills: ISkill[] = assistantSkillsFile.botFrameworkSkills !== undefined ? assistantSkillsFile.botFrameworkSkills : [];

            // Check if the skill is already connected to the assistant
            if (assistantSkills.find((assistantSkill: ISkill): boolean => assistantSkill.id === skillManifest.id)) {
                this.logger.warning(`The skill with ID '${ skillManifest.id }' is already registered.`);
                return;
            }

            // Validate cultures
            await this.validateCultures(cognitiveModelsFile, skillManifest.luisDictionary);
            // Updating Dispatch
            this.logger.message('Updating Dispatch');
            await this.updateModel(skillManifest.luisDictionary, skillManifest.id);
            // Adding the skill manifest to the assistant skills array
            this.logger.message(`Appending '${ skillManifest.name }' manifest to your assistant's skills configuration file.`);
            // Updating the assistant skills file's skills property with the assistant skills array
            // Writing (and overriding) the assistant skills file
            //writeFileSync(this.configuration.skillsFile, JSON.stringify(assistantSkillsFile, undefined, 4));
            await this.AddSkill(assistantSkillsFile, assistantSkills, skillManifest);
            this.logger.success(`Successfully appended '${ skillManifest.name }' manifest to your assistant's skills configuration file!`);
            // Configuring bot auth settings
            //this.logger.message('Configuring bot auth settings');
            //await this.authenticationUtils.authenticate(this.configuration, skillManifest, this.logger);
        } catch (err) {
            this.logger.error(`There was an error while connecting the Skill to the Assistant:\n${ err }`);
        }
    }