Watson conversation Watson对话中节点内的上下文大小限制
我的Watson对话机器人通常有一个节点,我在其中加载一些数据到上下文中。这通常包含所有可能的答案、字符串和各种其他数据 因此,我在任何bot中的第一个节点如下所示:Watson conversation Watson对话中节点内的上下文大小限制,watson-conversation,Watson Conversation,我的Watson对话机器人通常有一个节点,我在其中加载一些数据到上下文中。这通常包含所有可能的答案、字符串和各种其他数据 因此,我在任何bot中的第一个节点如下所示: { "type": "standard", "title": "Load Messages", "output": { "text": { "values": [ "" ], "selection_policy": "sequential" } }
{
"type": "standard",
"title": "Load Messages",
"output": {
"text": {
"values": [
""
],
"selection_policy": "sequential"
}
},
"context": {
// A whole bunch of data here
}
...
我可以在那里输入多少数据有限制吗?目前我有大约70千字节,但可能我可以把几兆字节放在那里,只是为了方便在对话中运行逻辑。(是的,我知道整个数据将被发送回客户端,这不是很有效)没有记录的限制。在Watson Assistant出现任何问题之前,您更有可能遇到网络问题 但将整个应用程序逻辑存储在上下文对象中被认为是一种反模式 您的上下文对象应该只存储Watson Assistant中需要的内容,如果可能的话,只存储对话的相关部分 可以将上下文值一次性存储在输出对象中
{
"context": {
},
"output": {
...
"one_time_var": "abc"
}
}
这将在您下次通话时丢弃
如果有大量的数据可以在不同的时间使用,那么可以使用一种模式,即上下文请求对象
{
"context": {
},
"output": {
...
"one_time_var": "abc"
}
}
例如:
"context": {
"request": "name,address,id"
}
应用层的下一个响应将发送以下消息:
"context": {
"name" : "Bob",
"address": "123 street",
"id": "1234"
}
您让返回的响应更新这些变量,然后再次清除上下文变量。如果有其他上下文变量需要保留,则将其存储在对象中并仅删除该对象 没有记录的限制。在Watson Assistant出现任何问题之前,您更有可能遇到网络问题
{
"context": {
},
"output": {
...
"one_time_var": "abc"
}
}
但将整个应用程序逻辑存储在上下文对象中被认为是一种反模式
您的上下文对象应该只存储Watson Assistant中需要的内容,如果可能的话,只存储对话的相关部分
可以将上下文值一次性存储在输出对象中
{
"context": {
},
"output": {
...
"one_time_var": "abc"
}
}
这将在您下次通话时丢弃
如果有大量的数据可以在不同的时间使用,那么可以使用一种模式,即上下文请求对象
{
"context": {
},
"output": {
...
"one_time_var": "abc"
}
}
例如:
"context": {
"request": "name,address,id"
}
应用层的下一个响应将发送以下消息:
"context": {
"name" : "Bob",
"address": "123 street",
"id": "1234"
}
您让返回的响应更新这些变量,然后再次清除上下文变量。如果有其他上下文变量需要保留,则将其存储在对象中并仅删除该对象
{
"context": {
},
"output": {
...
"one_time_var": "abc"
}
}