两个机器人分别是alma 和 blur,这个是借助图灵机器人提供的免费API来实现的两个机器人对话的功能,系统自动提取图灵平台提供的智能聊天库,自己还能导入自己的知识库让机器人更具个性化,更符合你的胃口,图灵机器人接入文档地址http://www.tuling123.com/openapi/cloud/access_api.jsp
package net.lxy520.tuling;
import com.mashape.unirest.http.HttpResponse;
import com.mashape.unirest.http.JsonNode;
import com.mashape.unirest.http.Unirest;
public class Main {
private static final String KEY = "91e71ab13d4f1be71de4a7ef1c1ec2ef";
private static final String BASEURL = "http://www.tuling123.com/openapi/api?key="+KEY+"&userid=";
private static final String Alma = "Alma";
private static final String Blur = "Blur";
public static void main(String[] args) {
//第一次交谈
String first = "你好啊!";
System.out.println(Alma+"对"+Blur+"说:"+first);
new Main().communication(Alma, first);
}
/**
* Alma 与 Blur 交谈
* @param user 用户
* @param text 聊天室内容
*/
public void communication(String user, String text) {
// 构造 访问图灵的地址
StringBuffer url = new StringBuffer("");
url.append(BASEURL);
url.append(user);
url.append("&info=").append(text);
// 输出日志
// System.out.println(url.toString());
// 取回交谈内容
String msg = getRobotMsg(url.toString());
if (Alma.equals(user)) {//如果对Alma说
System.out.println(Blur+"对"+Alma+"说:"+msg);
communication(Blur, msg);
} else if (Blur.equals(user)) {//如果对Blur说
System.out.println(Alma+"对"+Blur+"说:"+msg);
communication(Alma, msg);
}
}
/**
* 取回机器人的回答
* @param url 图灵机器人完全访问地址;带 userid和info
* @return 机器人的回答
*/
public String getRobotMsg(String url) {
try {
HttpResponse<JsonNode> jsonNodeHttpResponse = Unirest.get(url).asJson();
String text = jsonNodeHttpResponse.getBody().getObject().get("text").toString();
return text;
} catch (Exception e) {
return "我不知道!";
}
}
}