Я начинаю использовать 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 -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) осудили «истории», и редко что-либо происходит с обработкой ответа.
Вы используете 2 разные конечные точки: / сообщение и / обращение.
Вставленный вами журнал получен из / converse, поэтому я даже не уверен, что ваш первый звонок прошел. Можете ли вы попробовать завиток / сообщение, как это
curl -XGET 'https://api.wit.ai/message?v=20170307&q=I%20want%20to%20make%20a%20reservation' \
-H 'Authorization: Bearer $TOKEN'
Других решений пока нет …