在IBM Watson对话中,可以使用上下文变量来携带信息。可以从对表达式的评估中得出值,如下所示:
"context": {
"mycity": "<? entities['city'].value ?>"
}
我尝试的是动态构成变量名称:
"context": {
"my<? @animals ?>": "my new value"
}
但是,未评估变量名称中的表达式。如何根据可用数据(例如意图,实体或其他上下文变量(定义一个变量名称?
一个解决方案似乎是在应用程序中进行的:
- 接收响应对象,包括所有元数据。
- 提取必要的数据
- 撰写上下文对象,将其传递回WATSON对话,以进行下一个消息处理。创建新变量作为此准备的一部分。
- 带有上下文对象的呼叫消息API,其中包括新变量。
- 在Watson对话内处理过程中可用新变量。