リクルートテクノロジーズが公開している 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が色々あるようです。ぜひ試してみたいと思います。




コメント