2

我正在尝试来自 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(右上角的对话框图标)上测试机器人时,我也遇到了同样的错误。任何想法如何解决这一问题?我应该逃避部分输入吗?

4

2 回答 2

2

正如 Emiliano 在评论中提到的那样,美元符号是一个引入对上下文变量的引用的字符。因此,Conversation 正在尝试查找例如变量的值$2000。您需要转义这些引用。因此,您需要指定\\$2000. 您需要双反斜杠,因为字符串实际上在引号内。

于 2016-08-01T21:58:48.753 回答
2

使用 Simple Watson Response 编辑器时,我可以使用单个字符来转义Dialog 参考中描述的大多数特殊字符。\例如\$2000\#ftw\@8pm

如果您使用的是 Advanced Watson Response 编辑器,则需要使用 double \\。所以对于上面相同的例子\\$2000\\#ftw\\@8pm

不幸的是,我无法成功地逃脱<??>用于更复杂的表达式,尽管希望这些不太可能导致问题?

于 2016-08-02T10:57:19.763 回答