リクルートテクノロジーズが公開している A3RT(アート)は、機械学習や人工知能を手軽に使うことができる API群です。A3RT の各種 API はメールアドレスの登録だけで無償で使うことができます。そこで今回は、Chatbot を簡単に作成することができる Talk API を PHP で使ってみました。
API キーの発行
まずはじめに Talk API のページで 、API キーを発行します。
PHP スクリプトの作成
Talk API に POST リクエストを送信する PHP スクリプトを作成します。(エラー処理などは割愛してます)
<?php // Talk API の URL $url = 'https://api.a3rt.recruit-tech.co.jp/talk/v1/smalltalk'; // 発行した API キー $api_key = '*****'; // 第一引数を入力テキストにする $query = $argv[1]; // リクエスト作成 $request = array( 'apikey' => $api_key, 'query' => $query ); // ストリームコンテキストの作成 $opts['http'] = array( 'method' => 'POST', 'header' => 'Content-type: application/x-www-form-urlencoded;charset=UTF-8', 'content' => http_build_query($request, '', '&', PHP_QUERY_RFC3986) ); $context = stream_context_create($opts); // リクエスト実行 $response_json = file_get_contents($url, false, $context); // JSON を 配列に変換 $response_arr = json_decode($response_json, true); // 表示処理 var_dump($response_arr);
実行すると下のようなレスポンスが返ってきます。perplexit が予測性能でこの値が小さいほど、正しく応答できているようです。
$ php talk_api.php いい天気ですね
array(3) {
["status"]=>
int(0)
["message"]=>
string(2) "ok"
["results"]=>
array(1) {
[0]=>
array(2) {
["perplexity"]=>
float(0.12975786883239)
["reply"]=>
string(27) "晴れてよかったです"
}
}
}
array(3) {
["status"]=>
int(0)
["message"]=>
string(2) "ok"
["results"]=>
array(1) {
[0]=>
array(2) {
["perplexity"]=>
float(0.12975786883239)
["reply"]=>
string(27) "晴れてよかったです"
}
}
}
$ php talk_api.php 相対性理論について教えてください
array(3) {
["status"]=>
int(0)
["message"]=>
string(2) "ok"
["results"]=>
array(1) {
[0]=>
array(2) {
["perplexity"]=>
float(1.2677515295122)
["reply"]=>
string(18) "分かりません"
}
}
}
array(3) {
["status"]=>
int(0)
["message"]=>
string(2) "ok"
["results"]=>
array(1) {
[0]=>
array(2) {
["perplexity"]=>
float(1.2677515295122)
["reply"]=>
string(18) "分かりません"
}
}
}
おわりに
A3RT には、ほかにも画像を合成するAPIや、肉の写真に点数をつける(?)APIなど、面白そうなAPIが色々あるようです。ぜひ試してみたいと思います。
コメント