0
我開始使用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
現在是「我想預約」,在所有上面的代碼塊之後。
不過,我知道它成功地達到機智因爲我能看到它在日誌那裏,我知道了BOT說(從wit.ai):
{
"confidence": null
"action": null
"type": "action"
}
在此之上,如果我只是做用相同的查詢捲曲:
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)棄用「故事」之後我找不到任何東西,而且很少有處理響應的東西。
你說得對,我不相信我錯過了。但即使這樣我的PHP代碼應該工作,對吧?我正在打電話給/留言,並讓URL形成就像你在這裏做的一樣。然而,當我在curl中運行XGET或XPOST時,我得到了json響應,當我嘗試通過php時,我得到了各種回聲(即,如果我鍵入:「Heya」,我回來了「Heya」)我是遺漏了什麼?我不知道爲什麼curl工作,但PHP不。 – user6673915
很難說。 Wit的結果是JSON,所以也許你的PHP不能正確解析它。來自我們社區的示例:https://github.com/search?l=PHP&q=wit.ai&type=Repositories – l5t