如何仅通过 API 调用在 Rasa 中成功训练和替换模型?

问题描述

(帖子指的是 Rasa 2.4.0)

目的:当我启动本地rasa服务器时,我希望只使用http请求来替换当前正在运行的模型。我想这样做而不必关闭 rasa 服务器并重新训练模型。

尝试:一旦我启用了本地服务器,使用:

rasa run     -m models     --enable-api     --log-file out.log     -vv

当我通过运行以下命令尝试使用文档中的 PUT - replace the currently loaded model api 时:

curl -X PUT http://localhost:5005/model -H ‘Content-type: application/json’ --data-binary "@replaceModel.txt"

replaceModel.txt 文件在哪里

{
  "model_file": "models/20210423-144222.tar.gz","model_server": {
    "url": "http://localhost:5005/model/20210423-144222.tar.gz","wait_time_between_pulls": 0
  },"remote_storage": "aws"
}

所以它说模型已经成功加载。但是,一旦进行了此更改,我似乎无法与机器人通信。当我 ping 它时:

$ curl -XPOST localhost:5005/webhooks/rest/webhook -d '{"sender":"111","message":"hi"}'

[]

我从服务器收到以下提示

2021-05-06 11:57:54 DEBUG    rasa.server  - Successfully loaded model 'models/20210423-144222.tar.gz'.
2021-05-06 11:58:03 DEBUG    rasa.core.lock_store  - Issuing ticket for conversation '111'.
2021-05-06 11:58:03 DEBUG    rasa.core.lock_store  - Acquiring lock for conversation '111'.
2021-05-06 11:58:03 DEBUG    rasa.core.lock_store  - Acquired lock for conversation '111'.
2021-05-06 11:58:03 DEBUG    rasa.core.tracker_store  - Could not find tracker for conversation ID '111'.
2021-05-06 11:58:03 DEBUG    rasa.core.processor  - Starting a new session for conversation ID '111'.
2021-05-06 11:58:03 DEBUG    rasa.core.processor  - Policy prediction ended with events '[]'.
2021-05-06 11:58:03 DEBUG    rasa.core.processor  - Action 'action_session_start' ended with events '[<rasa.shared.core.events.SessionStarted object at 0x7f2f00451f60>,ActionExecuted(action: action_listen,policy: None,confidence: None)]'.
2021-05-06 11:58:03 DEBUG    rasa.core.processor  - Current slot values: 
        session_started_Metadata: None
2021-05-06 11:58:03 DEBUG    rasa.core.processor  - Received user message 'hi' with intent '{'name': 'hi','confidence': 1.0}' and entities '[]'
2021-05-06 11:58:03 DEBUG    rasa.core.processor  - Logged UserUtterance - tracker Now has 4 events.
/home/asugar/my_test/venv/lib/python3.6/site-packages/rasa/shared/utils/io.py:96: UserWarning: No policy ensemble or domain set. Skipping action prediction and execution.
  More info at https://rasa.com/docs/rasa/policies
2021-05-06 11:58:03 DEBUG    rasa.core.lock_store  - Deleted lock for conversation '111'.

在我运行 PUT replace loaded model 调用之前,当 rasa 服务器刚启动时,我尝试通过 ping 来与机器人通信:

$ curl -XPOST localhost:5005/webhooks/rest/webhook -d '{"sender":"111","message":"hi"}'

[{"recipient_id":"111","text":"Hello,this is the bot service,powered by Rasa. How Could I help?"}]

我已经使用 rasa interactive 单独测试了模型,并通过 -m 标志将特定模型提供给它。 “hi”输入应该有效。所以我认为我尝试更换模型的方式不正确,我不确定我能做些什么来解决这个问题。我能得到一些指导吗?谢谢。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...