(帖子指的是 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”输入应该有效。所以我认为我尝试更换模型的方式不正确,我不确定我能做些什么来解决这个问题。我能得到一些指导吗?谢谢。