1.はじめに
リクルートが無料で使えるAIを公開しました
https://a3rt.recruit-tech.co.jp/
その中に会話AI(以下TalkAPI)があったのでUnityで取得できるようにしました
https://a3rt.recruit-tech.co.jp/product/talkAPI/
1.準備
必要なもの
・Unity
・リクルートのTalkAPIのKey
・MinijsonとJsonnodeが記載されたC#スクリプト
・Unity
Unityをインストールしていなかったらインストールしておいてください
https://unity3d.com/jp/get-unity/update
・リクルートのTalkAPIのKey
TalkAPIを使用するためのカギをもらいましょう
https://a3rt.recruit-tech.co.jp/product/talkAPI/registered/
登録すると登録したメールアドレスにAPIを使用するための鍵が発行されます(7XDERM6AEUJtl82I7qIOAbVb76Aaaaaaa <-こんな感じの)
後で使うのでメモしておいてください
・MinijsonとJsonnodeが記載されたC#スクリプト
Minijson
http://qiita.com/phi/items/914bc839b543988fc0ec
(コード直リンク:https://gist.githubusercontent.com/darktable/1411710/raw/513f1c0ceb0cd4728973e109bd0b13911f162ebd/MiniJSON.cs)
Jsonnode
http://qiita.com/phi/items/914bc839b543988fc0ec
(コード直リンク:https://gist.github.com/asus4/7f7b5912d703f44c2711)
これを下の写真のように配置してください
1.Plugins フォルダをつくる
2.JsonNode.csとMiniJson.csを作成して上記サイトからコードを完コピ
2.取得する
本題
RequestTaklAPI.cs って名前のC#スクリプトを作成してください
そしてRequestTaklAPI.csに下記コードを書き込んでください
using UnityEngine;
using UnityEngine.UI;
using UnityEngine.Networking;
using System;
using System.Collections;
using System.Text;
public class RequestTaklAPI : MonoBehaviour {
string url = "https://api.a3rt.recruit-tech.co.jp/talk/v1/smalltalk";
string apikey = "取得したAPIKEYを入力してください!!!!!";
public string query = "";
public Text text;
IEnumerator Start()
{
// ChatAPIに送る情報を入力
WWWForm form = new WWWForm();
form.AddField("apikey", apikey);
form.AddField("query", query,Encoding.UTF8);
// 通信
using (UnityWebRequest request = UnityWebRequest.Post(url, form))
{
yield return request.Send();
if (request.isError)
{
Debug.Log(request.error);
}
else
{
try
{
// 取得したものをJsonで整形
string itemJson = request.downloadHandler.text;
JsonNode jsnode = JsonNode.Parse(itemJson);
// Jsonから会話部分だけ抽出してTextに代入
if (text.text != null) {
text.text = jsnode["results"][0]["reply"].Get<string>();
}
Debug.Log(jsnode["results"][0]["reply"].Get<string>());
}
catch (Exception e)
{
// エラーが出たらこれがログに吐き出される
Debug.Log("JsonNode:" + e.Message);
}
}
}
}
}
※apikey = "取得したAPIKEYを入力してください!!!!!"の部分にあなたが取得したkeyを入れてください
実行結果
Hierarchy に空のGameObjectを配置してRequestTaklAPI.csを追加してQueryの項目に「おなかすいた」と入力して実行すなsy