Je commence à utiliser Wit.ai pour améliorer un petit bot que j'ai fait. Je suis en mesure de faire une demande à la wit.ai en faisant:Je ne peux pas récupérer l'intention de mon appel 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;
}
Cependant, lors de la réception de la sortie que je viens d'obtenir le même message envoyé. Par exemple, si l'utilisateur tape "Je veux faire une réservation", mon $server_output
est maintenant "Je veux faire une réservation" après tout ce morceau de code ci-dessus.
encore, je sais que l'esprit atteint avec succès parce que je peux voir dans les journaux là-bas et je sais que le bot dit (à partir wit.ai):
{
"confidence": null
"action": null
"type": "action"
}
En plus de cela, si je fais juste une boucle avec la même requête:
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'
Je reçois la sortie suivante:
{
"confidence" : null,
"type" : "action",
"action" : null,
"entities" : {
"contact" : [ {
"suggested" : true,
"value" : "reservation",
"type" : "value",
"confidence" : 0.95062723294726
} ],
"intent" : [ {
"confidence" : 0.98638622681962,
"value" : "make_reservation"
} ]
}
}
Je ne sais pas où mon erreur est ou ce qui me manque pour gérer correctement l'utilisation de la valeur comme j'ai besoin.
J'ai été googling non-stop, mais je ne trouve rien après ils (wit.ai) déconseillé "histoires" et il y a rarement quelque chose à propos de la gestion de la réponse.
Vous avez raison, je ne peux pas croire que j'ai manqué cela. Cependant, même avec cela, mon code PHP devrait fonctionner, non? Je fais un appel à/message et ai l'URL formée juste comme vous faites ici. Cependant quand je cours XGET ou XPOST dans une boucle je reçois la réponse de JSON, quand je l'essaye sur php je reçois juste un écho de sortes (ie si je tape: "Heya" je reviens "Heya") Suis-je Il manque quelque chose? Je ne sais pas pourquoi le curl fonctionne mais le php ne fonctionne pas. – user6673915
Difficile à dire. Le résultat Wit est un JSON alors peut-être que votre PHP ne l'analyse pas correctement. Exemples de notre communauté: https://github.com/search?l=PHP&q=wit.ai&type=Repositories – l5t