Не могу загрузить пользовательский мессенджер на главный сервер rasa - PullRequest
0 голосов
/ 16 ноября 2018

Я создал слабый бот с ядром rasa и nlu, и он работает нормально.Я могу легко обрабатывать пользовательский ввод.Но когда я попробовал тот же процесс с каналом facebook, мое приложение rasa facebook не отвечает, если какой-то пользователь говорит что-либо в мессенджере страницы.

Мой webhook работает нормально.

se 'load(stream, Loader=ruamel.yaml.Loader)' explicitly if that is OK.

В качестве альтернативы включите в свой код следующее:

импортировать предупреждения warnings.simplefilter ('ignore', ruamel.yaml.error.UnsafeLoaderWarning)

В большинстве других случаев вам следует рассмотреть возможность использования «safe_load (stream)» data = yaml.load (stream) 127.0.0.1 - - [2018-11-16 10:52:50] "GET / webhooks / slack / webhook? Hub.mode = subscribe & hub.challenge = 343235800 & hub.verify_token = rasa-bot HTTP / 1.1 "404 342 0,005916 127.0.0.1 - - [2018-11-16 10:53:51]" GET /webhooks/facebook/webhook?hub.mode= subscribe & hub.challenge = 923059630 & hub.verify_token = rasa-bot HTTP / 1.1 "200 124 0,001723

и вот мой серверный скрипт.

nlu_interpreter = RasaNLUInterpreter('./models/default/model_20181116-102101')
action_endpoint = EndpointConfig(url="http://localhost:5055/webhook")
agent = Agent.load('./models/dialogue', interpreter=nlu_interpreter, action_endpoint=action_endpoint)


credentials = yaml.load(open('./credentials.yml'))
fb_access_token = credentials['facebook']['verify']
fb_secret = credentials['facebook']['secret']
fb_verify = credentials['facebook']['verify']

input_channel = FacebookInput(fb_access_token=fb_access_token,fb_secret=fb_secret,  fb_verify=fb_verify)

logLevel = "DEBUG"
logfile = "log.txt"


utils.configure_colored_logging(logLevel)
utils.configure_file_logging(logLevel, logfile)

agent.handle_channels([input_channel], 5004, serve_forever=True)

Нужно ли расширять импорт некоторого класса для обработки пользовательских сообщений.Потому что во время вялого бота это было не нужно.Я использую ядро ​​rasa 0.11.12 и последнюю версию NLU rasa.

Я не получаю сообщение пользователя на своем сервере rasa.

Любая помощь, ребята.

Спасибо

1 Ответ

0 голосов
/ 16 ноября 2018

Изменить строку

fb_access_token = credentials['facebook']['verify']

до

fb_access_token = credentials['facebook']['page-access-token']

В общем, я рекомендую использовать Rasa Core из командной строки вместо написания собственного кода. Например, вы можете указать Core настроить Facebook в качестве канала, предоставив файл учетных данных, например

facebook:
  verify: "rasa-bot"
  secret: "1234"
  page-access-token: "3123020"

и затем запуск Rasa Core с:

python -m rasa_core.run -d models/dialogue \
   -u models/nlu/current \
   --credentials credentials.yml

Это также описано в документах Rasa Core .

...