Не могу подключить нлу в Docker-контейнере
Я пытаюсь запустить Botpress с докером. Я установил свой Dockerfile следующим образом:
FROM botpress/server:v11_9_5
ADD . /botpress
WORKDIR /botpress
CMD ["./bp"]
После построения образа я бегу docker run my_image:latest
начать мой ботпресс. Однако он не может подключиться к серверу утят.
Согласно журналу,
03:20:32.917 Mod[nlu] Couldn't reach the Duckling server , so it will be disabled.
For more informations (or if you want to self-host it), please check the docs at
https://botpress.io/docs/build/nlu/#system-entities
[Error, connect ECONNREFUSED 127.0.0.1:8000]
STACK TRACE
Error: connect ECONNREFUSED 127.0.0.1:8000
at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1158:14)
Моя настройка nlu.json следующая:
{
"$schema": "../../assets/modules/nlu/config.schema.json",
"confidenceTreshold": 0.7,
"ducklingURL": "https://duckling.botpress.io",
"ducklingEnabled": true,
"autoTrainInterval": "30s",
"preloadModels": false,
"languageModel": "en",
"fastTextOverrides": {}
}
1 ответ
Утенок в комплекте с Botpress при использовании образа Docker (и, как ожидается, будет запущен при запуске Botpress). Существует переменная окружения, которая говорит использовать локальную версию утенка.
Если вы запускаете образ напрямую, оба процесса запускаются одновременно.
Здесь есть несколько примеров того, как запустить их оба: https://github.com/botpress/botpress/tree/master/examples/docker-compose
В основном:
command: bash -c "./duckling -p 8000 & ./bp"