Rasa Bot错误请求和Cors代理问题

时间:2019-04-16 05:51:39

标签: node.js ajax rasa-nlu rasa-core

Rasa核心版本13.7  nlu 14.6版 操作系统的Windows 10 python 3.5版

我创建了rasa chatbot并训练了nlu以及对话模型。我设法在控制台中成功运行了该bot,但是当我们尝试将其作为http服务器运行时,会出现如下所示的cors代理错误 我们用于运行服务器的命令是

  • python -m rasa_core.run -d模型/对话-u模型/ nlu / default / stem_nlu --enable_api --credentials凭证.yml --cors“ *” 我也尝试过
  • python -m rasa_core.run -d模型/对话-u模型/ nlu / default / stem_nlu --enable_api --credentials凭据.yml --cors“ *” -c rest 没有运气

    我也尝试过

    • python -m rasa_core.run -d模型/对话-u模型/ nlu / default / stem_nlu --enable_api --credentials凭据.yml --cors“ *” -c rest 没有运气 我尝试通过浏览器和邮递员向

      发送请求

      localhost:5005 / conversations / deafult / respond我得到了    {   “代码”:400,   “细节”: { “ in”:“查询”, “ parameter”:“查询”    },  “帮助”:null,   “ message”:“缺少message参数。”,   “ reason”:“ InvalidParameter”,   “ status”:“失败”,   “版本”:“ 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

,我们使用了如下脚本         $(document).ready(function(){

$("#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 个答案:

答案 0 :(得分:0)

明确提到CORS需要接受所有API调用。转到RASA项目文件夹并运行以下命令:

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

现在您将不会看到 cors 错误。