Ошибка запроса Rasa bot и проблема с прокси cors

#node.js #ajax #rasa-nlu #rasa-core

#node.js #аякс #раса-нлу #раса-ядро

Вопрос:

Версия ядра Rasa 13.7 версия nlu 14.6 ОС Windows 10 версия python 3.5

я создал чат-бота rasa и обучил nlu, а также модель диалога. мне удалось успешно запустить этого бота в консоли, но когда мы пытаемся запустить это как http-сервер, мы получаем ошибку прокси cors следующим образом. команда, которую мы использовали для запуска сервера,

  • python -m rasa_core.run -d models/dialogue -u models/nlu/default/stem_nlu —enable_api —учетные данные учетные данные.yml —cors «*» я также пробовал
  • python -m rasa_core.run -d models/dialogue -u models/nlu/default/stem_nlu —enable_api —учетные данные учетные данные.yml —cors «*» -c остальное безуспешно

    я также пробовал

    • python -m rasa_core.run -d models/dialogue -u models/nlu/default/stem_nlu —enable_api —credentials учетные данные.yml —cors «*» -c остальное безуспешно я попытался отправить запрос через браузер и postman на

      localhost:5005/conversations/deafult/ответить я получил { «code»: 400, «details»: { «in»: «query», «parameter»: «query» }, «help»: null, «message»: «Отсутствует параметр сообщения.», «причина»: «Недопустимый параметр», «статус»: «сбой», «версия»: «0.13.7» }

а также пытался

        localhost:5005/webhooks/rest/webhook 
 

я получил

      Bad Request
     The browser (or proxy) sent a request that this server could not understand.
 

бот-сервер показывает

        options 127.0.0.1 - - [2019-04-15 17:34:30] "OPTIONS /webhooks/rest/webhook HTTP/1.1" 200 306 0.001031
 

затем отправьте запрос

      127.0.0.1 - - [2019-04-15 17:34:30] "POST /webhooks/rest/webhook 
  HTTP/1.1" 400 352 0.000000
 

и мы использовали скрипт следующим образом
$(документ).готово (функция (){

 $("#button").click(function(){
var message=document.getElementById("message").value;
 console.log(message);
$.ajaxSetup({
 headers: {"Content-Type": "application/json"}
 });

$.ajax({
 url: "http://localhost:5005/webhooks/rest/webhook",
 type: "POST",
 data: '{ "sender": message}'
 }).done(function(data) {

    console.log(data);
 })
 

Ответ №1:

Явно укажите, что CORS должен принимать все вызовы API. Перейдите в папку проекта RASA и выполните следующие действия:

 rasa run --enable-api --cors "*"
 

Теперь вы не увидите ошибку cors.