Bot框架SDK NodeJS和自定义问答:无法生成答案:[object Object]

Bot framework SDK NodeJS and Custom Question Answering: Failed to generate answers: [object Object]

将我的一个知识库从 QnaMaker 升级到启用自定义问答的语言资源后(FKA QnAMaker Managed),我的聊天机器人不再运行并且 returns 出现错误:DialogContextError:生成失败答案:[对象对象]

我的 .env 有:

QnAKnowledgebaseId=<name of my knowledgebase>
QnAEndpointKey=<the Ocp-Apim-Subscription-Key from the prediction url
QnAEndpointHostName=https://<languageresourcename>.cognitiveservices.azure.com/  (I also tried to add language/ to the url)

QnaMaker 初始化:

const { QnAMaker } = require('botbuilder-ai');
        try {
            this.qnaMaker = new QnAMaker({
                knowledgeBaseId: process.env.QnAKnowledgebaseId,
                endpointKey: process.env.QnAEndpointKey,
                host: process.env.QnAEndpointHostName
            });
        } catch (err) {
            console.warn(`QnAMaker Exception: ${ err } Check your QnAMaker configuration in .env`);
        }

呼叫者:

        const qnaResults = await this.qnaMaker.getAnswers(step.context);

依赖关系:

"dependencies": {
        "adaptivecards-templating": "^1.4.0",
        "applicationinsights": "^1.8.10",
        "azure-storage": "^2.10.5",
        "body-parser": "^1.19.0",
        "botbuilder": "^4.15.0",
        "botbuilder-ai": "^4.15.0",
        "botbuilder-azure-blobs": "4.14.1-preview",
        "botbuilder-dialogs": "^4.15.0",
        "botbuilder-lg": "^4.15.0",
        "botframework-config": "^4.11.2",
         ...
}

使用我的旧 QnAMaker KB 中的密钥、知识库 ID 和主机名工作得很好。努力将新预测 url 转换为 QnAMaker 的对象。

更新 class GenerateAnswerUtils(由 QnaMaker 调用)预期如下:

const url = `${endpoint.host}/knowledgebases/${endpoint.knowledgeBaseId}/generateanswer`;

这不适用于迁移到自定义问题的 QnaMaker 知识库,它需要这样的 url:

'https://<languageresourcename>.cognitiveservices.azure.com/language/:query-knowledgebases?projectName=<projectname>&api-version=2021-10-01&deploymentName=production'

不确定这是错误报告还是功能请求。无论如何我都会提交一个问题。

BotFramework SDK 尚不支持新的自定义问题功能。这是导致错误的原因。已提交功能请求。