首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Bot框架SDK、NodeJS和自定义问题回答:未能生成答案:[对象对象]

Bot框架SDK、NodeJS和自定义问题回答:未能生成答案:[对象对象]
EN

Stack Overflow用户
提问于 2021-12-07 13:43:11
回答 1查看 253关注 0票数 1

在我的一个知识库从QnaMaker升级到具有自定义问题回答启用的语言资源(FKA QnAMaker托管)之后,我的聊天机器人不再工作,并返回一个错误: DialogContextError:未能生成答案:对象对象。

我的.env有:

代码语言:javascript
复制
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初始化:

代码语言:javascript
复制
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`);
        }

并由下列人士召集:

代码语言:javascript
复制
        const qnaResults = await this.qnaMaker.getAnswers(step.context);

依赖关系:

代码语言:javascript
复制
"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中的knowledgebaseid和主机名工作得很好。难以将新的预测url转换为QnAMaker的对象。

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

代码语言:javascript
复制
const url = `${endpoint.host}/knowledgebases/${endpoint.knowledgeBaseId}/generateanswer`;

这将不适用于迁移到自定义问题的QnaMaker KB,该问题需要这样的url:

代码语言:javascript
复制
'https://<languageresourcename>.cognitiveservices.azure.com/language/:query-knowledgebases?projectName=<projectname>&api-version=2021-10-01&deploymentName=production'

不确定这是否应该是一个bugreport或特性请求。无论如何,我都会提出一个问题。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-12-09 18:32:44

BotFramework SDK还不支持新的自定义问题特性。这是导致错误的原因。已经提交了一个功能请求。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70261208

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档