【问题标题】:How do I retrieve conversation's data from dialogflow using stackdriver?如何使用 stackdriver 从对话流中检索对话数据?
【发布时间】:2019-09-18 12:48:40
【问题描述】:

如果用户可以报告事件,我是使用对话流创建语音机器人。 这里的目标是:

1 - 用户与机器人交谈并回答几个问题。

2 - 我得到了带有问题和答案的对话历史记录。

3 - 我在 Excel 表中组织数据。

4 - 使用数据在另一个系统上创建事件。

我被困在第 2 步。

我能够在 stackdriver 上获得一些对话,但并非所有对话都在那里,而且它们的显示方式真的很难作为问题和答案放入电子表格中。

我需要这样的东西:

问题:“发生了什么事?” 答案:“bla bla bla”

问题:“它发生在哪里?” 答案:“又一个 bla bla bla”

请,任何帮助表示赞赏。

【问题讨论】:

    标签: google-cloud-platform dialogflow-es stackdriver


    【解决方案1】:

    您可以使用 Stackdriver REST API 中的 entries.list 方法。 https://cloud.google.com/logging/docs/reference/v2/rest/v2/entries/list

    提醒您首先在 Dialogflow 控制台代理的设置页面中激活“将交互记录到 Google Cloud”。
    然后只需调用 API(在本例中,使用 curl 命令):

    curl -X POST \
    -H "Authorization: Bearer "$(gcloud auth application-default print-access-token) \
    -H "Content-Type: application/json" "https://logging.googleapis.com/v2/entries:list" \
    --data "{'resourceNames':['projects/YOUR_AGENT_PROJECT'], \
    'filter':'logName=projects/YOUR_AGENT_PROJECT/logs/dialogflow_agent'}"
    


    您还可以使用 gcloud 命令,例如:

    gcloud logging read "logName=projects/YOUR_AGENT_PROJECT/logs/dialogflow_agent"
    


    从那里,您可以轻松过滤和处理结果。

    【讨论】:

      【解决方案2】:

      您不能以这种方式使用 Stackdriver 和 DialogFlow。在您的意图中,您必须启用 webhook 调用并在 fullfilment 过程中并将对话框存储在您需要的任何地方。之后检索信息。检查此link 以获取有关跨调用保存检索信息的更多信息,另请检查Actions on Google

      【讨论】:

      • 感谢您的评论。实际上,您分享的这些链接将帮助我将用户的对话保存为 cookie。但是,我想做的是将所有对话的历史记录保存在文件或数据库中。以一种易于访问的方式。你能帮我解决这个问题吗?
      • 在这种情况下,要将其保存在 cookie 中,您必须管理在另一个后端保存文件、数据库等的方式,这取决于您编写的代码来执行此操作。也许如果您有 cookie 上的数据,您可以将其发送到捕获标头 (cookie) 的 Web 服务。
      猜你喜欢
      • 1970-01-01
      • 2023-03-24
      • 1970-01-01
      • 1970-01-01
      • 2023-03-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多