以命令行模式记录Rasa

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了以命令行模式记录Rasa相关的知识,希望对你有一定的参考价值。

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

答案

在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"
}
另一答案

你的命令行模式究竟是什么意思?如果您启动服务器:

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

应启用日志记录。这假定版本为0.12.3

以上是关于以命令行模式记录Rasa的主要内容,如果未能解决你的问题,请参考以下文章

Rasa学习记录 01

报时机器人的rasa shell执行流程分析

提效小技巧——记录那些不常用的代码片段

用于从 cloudkit 检索单列的代码模式/片段

如何创建片段以重复变量编号中的代码行

2016-09-23学习记录