不使用 context/event 的所有意图上的 DialogFlow 参数

DialogFlow parameter on all intents without using context/event

我们正在将 DialogFlow 用于 NLP。我们的代理人有数百个意图。在其中许多我们需要可用的国家/地区参数(我们在特定 interactions/dialogs 期间检索客户的国家/地区,对于某些输入渠道,我们直接从渠道检索此信息,例如从 whatsapp 号码等)。有没有什么办法可以在不对所有意图使用事件或上下文的情况下传播国家/地区参数?动机很明显:我们不想手动创建所有意图的上下文,一些智能解决方案在这里会很方便。

您可以做的是始终在 req.queryParams.contexts 中发送带有 yourCustomContext 上下文和 country 参数的 detectIntent 请求,如 here 所述。然后,以任何您想要的方式,您可以在参数中以 #yourCustomContext.country 的形式访问它。

上下文具有以下结构,您可以使用如下内容:

{
  "name": "yourCustomContext",
  "lifespanCount": number,
  "parameters": {
    "country": "Zimbabwe"
  }
}

这里的优点是这个自定义上下文很容易扩展,以防你也需要一直发送额外的细节。

如果您在后续的 webhook 调用中使用这些参数并且需要更复杂的 JSON 结构,您也可以使用 req.queryParams.payload 对象。

希望对您有所帮助!