4

我想记录来自 Rasa 机器人的对话(尤其是意图)。当 Rasa NLU 作为 http 服务器运行时,有一个完美的功能,但是在命令行模式下运行时我似乎找不到任何类似的东西。有没有办法做到这一点 ?如果不是,会有办法实现吗?

4

2 回答 2

2

命令行模式到底是什么意思?如果您使用以下命令启动服务器:

python -m rasa_nlu.server --path projects --response_log logs

应该启用日志记录。这假设版本 0.12.3

于 2018-05-03T21:03:06.677 回答
2

在 Rasa Core架构中,一个名为 Tracker 的类包含当前对话的历史记录。我想你可以通过调用它的as_dialogue 方法来实现你的日志。

查看文档,此序列化的输出似乎与服务器生成的日志中的项目完全相同:

{  
  "py/object":"rasa_core.conversation.Dialogue",
  "events":[
    {
      "py/object": "rasa_core.events.UserUttered",
      "entities": [],
      "intent": {
        "name": "greet",
        "confidence": 1.0
      },
      "text": "/greet"
    },
    {
      "py/object": "rasa_core.events.ActionExecuted",
      "action_name": "utter_greet",
      "unpredictable": false
    }
  ],
  "name":"hello_world"
}
于 2018-05-07T10:44:15.937 回答