gpt4 book ai didi

dialogflow-es - Dialogflow 实现 : Breaking multiple choice questions into single questions

转载 作者:行者123 更新时间:2023-12-04 10:11:06 24 4
gpt4 key购买 nike

我对 Dialogflow 比较陌生,我正在尝试创建一个医疗保健诊断语音聊天机器人,其工作方式如下。

用户体验

  1. 用户调用系统并受到聊天机器人的欢迎。
  2. 聊天机器人开始询问与分流相关的问题(例如,“您有慢性肾脏病史吗?”)。
  3. 用户会回答问题并最终收到某种建议(例如, self 隔离,或调用医生接受 XYZ 检测)。

系统设置

  1. Dialogflow 代理欢迎用户,解释我们将提出一系列问题,并提示第一个问题(“你多大了?”)。
  2. 一个不同的意图与用户的响应(例如,“我 40 岁”)相匹配,并向我的 webhook 服务器发送一个 webhook 请求。
  3. 我的 webhook 服务器收到请求,这会触发对第三方医疗 API 提供商的 REST API 请求。
  4. 第三方 API 提供商以多项选择题回复(“请选择所有适用于您的陈述”)。这就是事情对我来说变得复杂的地方。

问题

将多项选择题分解为单个“是/否”问题的最佳方法是什么?鉴于我正在处理一个语音聊天机器人,我不能连续向调用者播放 10 个问题并期望他们正确回答。我必须一次向调用者发送一个问题。

我最初的想法是我需要在我的 webhook 服务器中创建某种 session 管理,以便它可以一次发送一个问题/响应并跟踪他们的答案。但是,鉴于 Dialogflow 已经在进行 session 管理,这听起来有些多余。我的偏好是让我的 webhook 服务器保持无状态并从 webhook 请求的上下文对象中提取我需要的所有数据。

我不想将所有可能的分类问题硬编码为意图中的“必需参数”。相反,出于显而易见的原因,我希望第三方 API 提供商处理内容/问题。

一个理想的解决方案是,如果我的实现 webhook 服务器有办法在每个 session 的基础上为意图提供所需参数的动态列表。换句话说,webhook 响应将包括所需参数的列表和每个参数的问题/文本。然后,Intent 将使用此列表一次提示调用者一个问题。

我不认为这是可能的,但我想尝试一下也没什么坏处……很可能,我将不得不在我的 webhook 服务器中进行一些 session 管理和提示流控制。不过,我欢迎您提出任何新想法或建议。

最佳答案

您走在正确的轨道上。虽然您无法动态创建 Dialogflow 询问的提示,但您可以将您需要询问的信息存储在上下文中,并且当他们回答上一个问题时,检查上下文是否还有您需要的信息问并问列表中的下一个问题。

这个方案可能看起来像这样:

  1. 当您进行到需要提出分类问题的面试部分时,您将进行 API 调用,获取要问的问题列表,并将它们存储在一个非常长的“分类”上下文中“问题”参数下的生命周期。
  2. 然后您提出第一个问题,将其放入“当前”参数中,这样您就知道正在回答哪个问题。
  3. 您将拥有一个以“分类”作为输入上下文并以"is"、“否”和“我不知道”等响应作为训练短语实体的 Intent。此 Intent 将触发您的网络钩子(Hook)。
  4. 当您的 webhook 被调用时,您将从参数中获得响应,从“当前”上下文参数中获取被问到的问题,并将这两者存储在同一上下文中的“answers”参数中。 (或者使用不同的上下文。没关系。)
  5. 然后您将从上下文中的“问题”参数中获取下一个问题,使其成为“当前”问题,并将其作为下一个问题提出。
  6. 然后每次使用相同的 Intent 重复步骤 3-5,直到所有问题都有答案。

您的服务器保持无状态 - 下一个问题所需的所有状态都在“分类”上下文中

关于dialogflow-es - Dialogflow 实现 : Breaking multiple choice questions into single questions,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61330976/

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