以命令行模式记录Rasa

时间:2018-05-02 12:40:38

标签: logging rasa-nlu rasa-core

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

2 个答案:

答案 0 :(得分:2)

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

//function to extract student id from students rray
function extractStudentId($array){
return $array['Student_ID'];
}
//function to extract slot id from Slot array
function extractSlotId($array){
return $array['Slot_ID'];
}
应该启用

日志记录。假设版本为0.12.3

答案 1 :(得分:2)

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

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

{  
  "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"
}