无法将事件数据传递给美国石油学会

2024-05-14 22:52:12 发布

您现在位置:Python中文网/ 问答频道 /正文

我想把这件事提出来美国石油学会并在python客户机中传递数据

ai = apiai.ApiAI(CLIENT_ACCESS_TOKEN)
parm = {}
parm['amount'] = 222
parm['CName'] = 'CustName'

event1 = apiai.events.Event("MyCustomEvent")
event1.data = parm
request = ai.event_request(event1)

MyCustomEvent已定义并链接到right intent。 Intent定义了强制参数CName和amount

事件和意图在发送请求时被触发。 但数据不会被映射

我做错什么了?有人能帮忙吗 或者给我点样品让它工作


Tags: client客户机定义requestamountaicname学会
1条回答
网友
1楼 · 发布于 2024-05-14 22:52:12

这有点棘手,这是我在工作中发现的人工智能. 据我所知,美国石油学会有很多“未记录的功能”,这就是其中之一。在

实际上,您可以在触发事件时设置参数,除非您尝试触发的事件与触发时传递给该意图的事件具有相同的参数。然后会发生以下情况:美国石油学会会神秘而神奇地“清空”这些参数,就好像它们被意图重置了一样。在

我已经在美国石油学会关于这个的论坛,如果这是一个实际的功能或一个错误,但我还没有得到任何回应。在

为了给你一个具体的例子,假设我们有:

Intent: "customIntent"
Entity: "amount"
Entity: "cname"
Event: "myCustomEvent"
ContextIn: "testIn"
ContextOut: "testOut"

如果我使用webhook中包含以下JSON的事件触发此意图:

^{pr2}$

amount和Cname将为空并按意图重置,您可以在美国石油学会但是,由于testentity不在intent的param列表中,因此testentity不会为空并重置。在

这很奇怪,也很混乱,但我运行了多个测试,结果就是这样。为了解决这个问题,我创建了一个解决方案,通过使用与我最初尝试触发的意图相同的“用户语句”和contextin和contextout创建了一个解决方案,但不同的是没有向这个新意图添加任何参数。在

看起来像这样:

Intent: "customIntent"
Entity: "amount"
Entity: "cname"
ContextIn: "testIn"
ContextOut: "testOut"

Intent: "workaroundIntent"
Event: "myCustomEvent"
ContextIn: "testIn"
ContextOut: "testOut"

这就是我自己解决这个问题的方法,至于为什么会发生这种情况,我仍然在等待一个美国石油学会工作人员。在

相关问题 更多 >

    热门问题