我正在尝试来自Watson的会话API服务(使用pypi上提供的Python API客户端:watson-developer-cloud
。
当我提出请求时,我收到以下错误:
"output": {
"text": [],
"error": "Error when updating output with output of dialog node id:node_3_1470064336636. Fix the dialog node. Node output was:{\"text\":\"El monto que te puedo adelantar lo define el sistema seg\u00fan el an\u00e1lisis que realiza de tu figura crediticia. El primer adelanto ser\u00e1 de hasta $2000 y mientras vayas cumpliendo en tiempo y forma, se ir\u00e1 aumentando el monto que el sistema te ofrece, siendo $4000 el m\u00e1ximo. Si quer\u00e9s saber el monto exacto que puedo otorgarte, registrate o acced\u00e9 a tu cuenta y hac\u00e9 click en la opci\u00f3n \\\"Ped\u00ed un Adelanto\\\".\"}\n**org.springframework.expression.spel.SpelParseException**: EL1049E:(pos 8): Unexpected data after '.': '2000'\n"
回复(西班牙语)如下:
{
"output": {
"text": "El monto que te puedo adelantar lo define el sistema según el análisis que realiza de tu figura crediticia. El primer adelanto será de hasta $2000 y mientras vayas cumpliendo en tiempo y forma, se irá aumentando el monto que el sistema te ofrece, siendo $4000 el máximo. Si querés saber el monto exacto que puedo otorgarte, registrate o accedé a tu cuenta y hacé click en la opción \"Pedí un Adelanto\"."
}
}
我也在Watson Conversation Workspace(右上角的对话框图标)上测试机器人时遇到同样的错误。任何想法如何解决这一问题?我应该逃避我的一些投入吗?
答案 0 :(得分:2)
正如Emiliano在评论中提到的那样,美元符号是一个引入上下文变量的字符。因此,Conversation试图查找变量$2000
的值。你需要逃避这些引用。因此,您需要指定\\$2000
。你需要双反斜杠,因为字符串实际上在封面下的引号内。
答案 1 :(得分:2)
使用Simple Watson Response编辑器时,我可以使用单个AccessToken
字符来转义Dialog reference中描述的大多数特殊字符。例如,AccessToken
,\
和\$2000
如果您使用的是高级Watson响应编辑器,则需要使用双\#ftw
代替。因此,对于上面的相同示例,\@8pm
,\\
和\\$2000
不幸的是,我无法成功地逃避用于更复杂表达的\\#ftw
和\\@8pm
,但希望这些不太可能导致问题?