问题描述
我在5个不同的docker容器中运行了5个rasa聊天机器人,但是当我尝试使用webchat时却失败了。我可以在普通的linux服务器上通过网聊运行rasa。
我没有网络聊天窗口也不会收到错误消息。
更正:我收到此错误
“无法纠正
Firefox无法在localhost:5005建立与服务器的连接”
这是我运行的命令
docker run --name=rasa1 --user 1000 -v $(pwd):/app rasa/rasa:1.10.11-full run -m models --enable-api --cors "*" --debug
这是我的环境:
Ubuntu 18.04
Docker 19.03.12
解决方法
您没有公开任何端口。
假设rasa正在侦听容器内的端口5005,请尝试:
docker run --name=rasa1 --user 1000 -v $(pwd):/app -p "5005:5005" rasa/rasa:1.10.11-full run -m models --enable-api --cors "*" --debug
编辑:
我设法通过反复试验使其运行。步骤如下:
-
启动项目
mkdir app docker run -it --rm --user 1000 -v $(pwd)/app:/app rasa/rasa:1.10.11-full init --no-prompt
-
编辑
$(pwd)/app/credentials.yml
并添加以下行:socketio: user_message_evt: user_uttered bot_message_evt: bot_uttered session_persistence: true
-
启动rasa:
docker run --name=rasa1 --user 1000 -v $(pwd)/app/app:/app -p "5005:5005" rasa/rasa:1.10.11-full run -m models --enable-api --cors "*" --debug
4。使用以下内容创建$(pwd)/index.html
:
<html>
<head>
<title>Webchat</title>
</head>
<body>
<div id="webchat"></div>
<script src="https://cdn.jsdelivr.net/npm/rasa-webchat/lib/index.min.js"></script>
// you can add a version tag if you need,e.g for version 0.11.5
https://cdn.jsdelivr.net/npm/rasa-webchat@0.11.5/lib/index.min.js
<script>
WebChat.default.init({
selector: "#webchat",initPayload: "/get_started",customData: { "language": "en" },// arbitrary custom data. Stay minimal as this will be added to the socket
socketUrl: "http://localhost:5005",socketPath: "/socket.io/",embedded: true,title: "Welcome",subtitle: "to my chatbot",params: { "storage": "session" } // can be set to "local" or "session". details in storage section.
})
</script>
</body>
</html>
- 在浏览器中打开
$(pwd)/index.html
。 - 享受!