【问题标题】:Logs for Rasa in command-line mode命令行模式下的 Rasa 日志
【发布时间】:2018-05-02 12:40:37
【问题描述】:

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

【问题讨论】:

    标签: logging rasa-nlu rasa-core


    【解决方案1】:

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

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

    【讨论】:

      【解决方案2】:

      命令行模式到底是什么意思?如果你启动服务器:

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

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

      【讨论】:

      • 我的意思是根本不将 nlu 作为服务器启动,而是使用 cmd-line 输入/输出来处理它这是启动机器人的代码:def run(serve_forever=True): interpreter = RasaNLUInterpreter("models/nlu/default/current") agent = Agent.load("models/dialogue", interpreter=interpreter) if serve_forever: agent.handle_channel(ConsoleInputChannel()) return agent
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-05-12
      • 2020-10-18
      • 2014-04-10
      • 1970-01-01
      • 2020-05-23
      • 2020-05-01
      • 1970-01-01
      相关资源
      最近更新 更多