gpt4 book ai didi

dialogflow-es - 为什么 Dialogflow nodejs sdk "detect Intent with Knowledge Base"方法响应为 null ? (V2Beta)

转载 作者:行者123 更新时间:2023-12-04 02:01:29 24 4
gpt4 key购买 nike

我正在整合 Dialogflow Nodejs sdk借助以下文档 nodejs-dialoglowflow-detect-knowledgebase-intent 进入我的应用程序以检测知识库意图.

以下是我的查询请求

const request = {
session: sessionPath,
queryInput: {
text: {
// The query to send to the dialogflow agent
text: message,
// The language used by the client (en-US)
languageCode: 'en-US',
},
},
queryParams: {
knowledgeBaseNames: ['projects/my-project-id/knowledgeBases/my-knowledge-base-name'],
},

};

当我在 dialogflow 控制台中测试 FAQ 时它可以工作,但是当我尝试对 Dialoglflow Nodejs SDK 做同样的事情时, knowledgeAnswers对话流响应中的对象为空。

任何帮助表示赞赏。谢谢

最佳答案

发生这种情况是因为 knowledgeBaseNames 中的值不正确属性(property)。
当您创建知识库时,它会返回以下响应:

{
"name": "projects/project-id/knowledgeBases/NDA4MTM4NzE2MjMwNDUxMjAwMA",
"displayName": "knowledge-base-display-name"
}
knowledgeBaseNames属性接受 name 的数组.它不同于 displayName .

如果您创建了 Konwledgebase 表单 Dialogflow 仪表板,您将不会在仪表板中看到此详细信息。但是,Dialogflow SDK 提供 API 来获取代理的知识库列表。 Node js V2Beta1 SDK 有个方法 projects.knowledgeBases.list ,当给定项目名称时,它将列出所有知识库及其显示名称和名称。您可以将名称列表发送到检测意图请求中。

如果您的用例只需要知道知识库的 ID,那么您可以从 Dialogflow 控制台的“试用”部分获取 if。输入您在知识库中添加的问题,然后单击 diagnostic info .它将以 JSON 格式显示对话流响应。寻找 knowledgeAnswers目的。知识库 ID 是 source 的一部分属性如下:
"knowledgeAnswers": {
"answers": [{
"source": "projects/project-id/knowledgeBases/knowledgebase-id/documents/document-id"
}]
}

关于dialogflow-es - 为什么 Dialogflow nodejs sdk "detect Intent with Knowledge Base"方法响应为 null ? (V2Beta),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54123686/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com