【问题标题】:Is it possible to invoke Google Dialogflow webhook from external api by enabling Beta Features and API是否可以通过启用 Beta 功能和 API 从外部 api 调用 Google Dialogflow webhook
【发布时间】:2020-10-28 22:59:58
【问题描述】:

我一直在研究 POC,我能够从外部 API 调用 Dialogflow 实现 webhook 并获取响应,但在禁用 Beta 功能选项时无法获取知识库响应。当我启用 Beta 功能时,我得到了知识库响应,但没有得到 webhook 响应。无法使知识库和 webhook 与 beta 功能选项一起使用。

Dialogflow CX 可以吗? Knowledge 有效,但 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);

【问题讨论】:

  • 您能否添加任何详细信息,例如“无法使知识库和 webhook 与 beta 功能选项一起工作”是什么意思?您当前的实施是什么,您想要完成什么? How do I ask a good question?, How to create a Minimal, Complete, and Verifiable example 向社区展示您的尝试。至于 Dialogflow CX,目前平台尚不支持 Knowledge Connectors。
  • 如果对话流无法回答客户,我需要移交给人工代理。 Dialogflow 结合了知识库和 webhook 实现。

标签: node.js webhooks dialogflow-cx


【解决方案1】:

在 Dialogflow ES 中,Knowledge Connector 处于 Beta 版本。如果您在代理设置中启用了“测试版功能和 API”选项,您将只能在代理上使用知识连接器。

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

您也可以考虑在 package.json 中将“@google-cloud/dialogflow”库版本升级为“^3.3.0”。

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-07-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-05-04
    • 1970-01-01
    相关资源
    最近更新 更多