gpt4 book ai didi

api - 为什么要在 Dialogflow 中使用操作

转载 作者:行者123 更新时间:2023-12-04 20:39:04 26 4
gpt4 key购买 nike

我是 Dialogflow 的新手,所以我的问题可能太简单了。但是,我不明白在 Dialogflow 中命名 actions 的目的是什么。我在 youtube 上看过视频,其中的人在拥有 webhook 时正在使用 actions。例如,他们的源代码中可能有一个 if 条件(例如在 python 中

if action == 'action_name':
...

)在这种情况下执行特定的操作。

然而,源代码检索到的 json 输出具有以下形式:

{
"id": "123d9e8e-314f-451b-8b15-5e3b55baa980",
"timestamp": "2018-03-16T17:03:05.987Z",
"lang": "en",
"result": {
"source": "agent",
"resolvedQuery": "Hello",
"action": "input.welcome",
"actionIncomplete": false,
"parameters": {},
"contexts": [],
"metadata": {
"intentId": "effe6b2b-3372-4f89-882f-ff937b2b2abb",
"webhookUsed": "false",
"webhookForSlotFillingUsed": "false",
"intentName": "Welcome"
},
"fulfillment": {
"speech": "Hello, how can I help you?",
"messages": [
{
"type": 0,
"speech": "Hello, how can I help you?"
}
]
},
"score": 1
},
"status": {
"code": 200,
"errorType": "success",
"webhookTimedOut": false
},
"sessionId": "491d57cb-0af2-45ac-a658-9e47ec6658ce",
"alternativeResultsFromKnowledgeService": {}
}

既然 json 数据包含 IntentName 为什么要为这个特定的 intent 命名一个独特的 action 当你可以直接得到的名称你的 json 中的 intent

最佳答案

我倾向于以两种方式考虑这一点,具体取决于我正在构建的内容。 (或者有时这两种方式的组合。)

  1. Intent Name 是一个人类可用的名称,而 Action 是更适合 webhook 使用的名称,并且更直接地映射到一个函数。

  2. 由于您可以让多个 Intent 使用同一个 Action,因此可以方便地将用户说话的几种不同方式(以及他们可能随这些方式发送的参数)映射到同一个方法。虽然您可以通过在代码中列出所有不同的 Intent 名称来做到这一点,但在 Dialogflow 端更容易做到这一点。

事实上 - 使用最适合您的方式。我倾向于非常相似地命名我的 Intents 和我的 Actions,但是根据对代码最有意义的内容进行分支(有时还包括可能发送的其他值)。

关于api - 为什么要在 Dialogflow 中使用操作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49326178/

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