我 运行 rasa 在 docker 容器中,但我无法使用网络聊天
I run rasa in docker containers but I can't get webchat working
我在不同的 docker 容器中安装了 5 个 rasa 聊天机器人 运行ning,但是当我尝试使用网络聊天时它失败了。我可以 运行 rasa 在普通 linux 服务器上使用网络聊天。
I don't get error messages just no webchat chat window.
更正:我得到这个错误
“无法更正
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.Create $(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
。
- 尽情享受吧!
我在不同的 docker 容器中安装了 5 个 rasa 聊天机器人 运行ning,但是当我尝试使用网络聊天时它失败了。我可以 运行 rasa 在普通 linux 服务器上使用网络聊天。
I don't get error messages just no webchat chat window.
更正:我得到这个错误
“无法更正
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.Create $(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
。 - 尽情享受吧!