【发布时间】:2017-08-22 22:07:09
【问题描述】:
我开始使用 Wit.ai 来增强我制作的一个小型机器人。我可以通过以下方式向 wit.ai 提出请求:
function sendToWitAI($query){
$witRoot = "https://api.wit.ai/message?";
$witVersion = "20170822";
$witURL = $witRoot . "v=" . $witVersion . "&q=" . $query;
$ch = curl_init();
$header = array();
$header[] = "Authorization: Bearer xxxxxxxx";
curl_setopt($ch, CURLOPT_URL, $witURL);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_HTTPHEADER,$header);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$server_output = curl_exec ($ch);
curl_close ($ch);
return $server_output;
}
但是,当接收到输出时,我收到的消息与我发送的相同。例如,如果用户键入“我要预订”,我的$server_output 现在是“我要预订”,在上面的所有代码之后。
不过,我知道它成功达到了机智,因为我可以在日志中看到它,而且我知道机器人说(来自 wit.ai):
{
"confidence": null
"action": null
"type": "action"
}
除此之外,如果我只是使用相同的查询进行 curl:
curl -XPOST 'https://api.wit.ai/converse?v=20170822&session_id=123abc&q=I%20want%20to%20make%20a%20reservation' \
> -H "Content-Type: application/json" \
> -H "Accept: application/json" \
> -H 'Authorization: Bearer xxxxxxxx'
我得到以下输出:
{
"confidence" : null,
"type" : "action",
"action" : null,
"entities" : {
"contact" : [ {
"suggested" : true,
"value" : "reservation",
"type" : "value",
"confidence" : 0.95062723294726
} ],
"intent" : [ {
"confidence" : 0.98638622681962,
"value" : "make_reservation"
} ]
}
}
我不确定我的错误在哪里,或者我缺少什么来正确处理我需要的值的使用。
我一直在不停地谷歌搜索,但在他们 (wit.ai) 弃用“故事”之后我找不到任何东西,而且很少有任何关于处理响应的事情。
【问题讨论】: