是否可以通过启用Beta功能和api从外部api调用Google对话流webhook



我一直在研究POC,我可以从外部API调用Dialogflow实现webhook并获得响应,但在禁用Beta功能选项时无法获得知识库响应。当我启用Beta功能时,我会得到知识库的响应,但不会得到webhook的响应。无法使Knowledgebase和webhook同时使用测试版功能选项。

使用Dialogflow CX是否可能?知识是有效的,但不是Webhook与以下内容:

const knflow = require('@google-cloud/dialogflow').v2beta1;
const ksclient = new knflow.SessionsClient({
keyFilename: "C:/Temp/XXXXXX.json"
});
const sessionPath = ksclient.projectAgentSessionPath(
projectId,
sessionId
);
var responses = await ksclient.detectIntent(request);
Webhook works but not knowledgebase with the following:
const sessionPath = sessionClient.sessionPath(projectid,sessionid);
var chatMessage = chatRequest.messageDetails.message;
var responses = await sessionClient.detectIntent(request);

在Dialogflow ES中,知识连接器是Beta版本。只有当您在代理设置中启用了"Beta功能和API"选项时,您才能在代理上使用知识连接器。

如果使用nodeJS客户端库,请考虑检查DetectIntent Response,来自Webhook的响应可以在queryResult下的fulfillmentTextfulfillmentMessages字段中找到。而来自知识连接器的响应可以在alternativeQueryResults下找到。

您也可以考虑将"@google cloud/dialogflow"库版本升级为"^3.3.0";在你的包.json.

对于代理到人的切换,您可以查看以下示例github实现:https://github.com/dialogflow/agent-human-handoff-nodejs.

最新更新