使用图灵机器人做简单的聊天系统
首先要在图灵机器人官网注册(http://www.tuling123.com)一个帐号,新帐号可以免费创建一个机器人并且拥有自己的apikey,虽然功能有限制,但是简单的使用还是很赞的。
图灵机器人提供了多种多样的外部接口,这里使用Web API v2.0接口来进行开发,相对web API v1.0支持更多的输入格式。具体的使用介绍请参照官网文档https://www.kancloud.cn/turing/web_api/522992
最终的运行结果如下:
具体实现代码如下,代码比较简单,不做过多解释了。
package com.wcf;import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.net.HttpURLConnection;
import java.net.URL;
import java.util.Scanner;import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;public class Chatbot {
public static void main(String[] args) {
// TODO Auto-generated method stub
String url="http://openapi.tuling123.com/openapi/api/v2";
String question="";
String apikey="d38891d7ab524688919dce4f3a95abbd";
String userID="001";//任意值,如果用于微信平台开发,建议使用微信粉丝的userID作为此值
@SuppressWarnings("resource")
Scanner scanner=new Scanner(System.in);
while((question=scanner.nextLine()) != null)
{
String data="{\"perception\": {\"inputText\": {\"text\": \""+question+"\"}},\"userInfo\": {\"apiKey\": \""+apikey+"\",\"userId\": \""+userID+"\"}}";
try {
String response=sendPost(url,data);
JSONObject jsonObject=JSON.parseObject(response);
//这里仅仅提取出了文本答案,如果需要其他答案请自行修改代码
System.out.println(jsonObject.getJSONArray("results").getJSONObject(0).getJSONObject("values").getString("text"));
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
} }
public static String sendPost(String url,String Params)throws IOException{OutputStreamWriter out = null;BufferedReader reader = null;String response="";try {URL httpUrl = null; //HTTP URL类 用这个类来创建连接//创建URLhttpUrl = new URL(url);//建立连接HttpURLConnection conn = (HttpURLConnection) httpUrl.openConnection();conn.setRequestMethod("POST");conn.setRequestProperty("Content-Type", "application/json");conn.setRequestProperty("connection", "keep-alive");conn.setUseCaches(false);//设置不要缓存conn.setInstanceFollowRedirects(true);conn.setDoOutput(true);conn.setDoInput(true);conn.connect();//POST请求out = new OutputStreamWriter(conn.getOutputStream());out.write(Params);out.flush();//读取响应reader = new BufferedReader(new InputStreamReader(conn.getInputStream()));String lines;while ((lines = reader.readLine()) != null) {lines = new String(lines.getBytes(), "utf-8");response+=lines;}reader.close();// 断开连接conn.disconnect();} catch (Exception e) {System.out.println("发送 POST 请求出现异常!"+e);e.printStackTrace();}//使用finally块来关闭输出流、输入流finally{try{if(out!=null){out.close();}if(reader!=null){reader.close();}}catch(IOException ex){ex.printStackTrace();}}return response;}}
使用图灵机器人做简单的聊天系统相关推荐
- 手把手教你用图灵机器人做微信公众号自动回复助手
本文首发于我的个人博客:尾尾部落 阅读这篇文章,你将会学会以下内容: 如何用flask搭建微信公众平台服务 如何将在微信公众平台调用图灵机器人 如何用uwsgi+supervisor+nginx部署f ...
- [初识]使用百度AI接口,图灵机器人实现简单语音对话
一.准备 1.百度ai开放平台提供了优质的接口资源https://ai.baidu.com/ (基本免费) 2.在语音识别的接口中, 对中文来说, 讯飞的接口是很好的选择https://www.xf ...
- android图灵机器人教程,简单的调用图灵机器人
publicTuLingTest() { InitializeComponent(); }private ActionShowMsg;private void TuLingTest_Load(obje ...
- python图灵_python图灵机器人
时间过得好快,不知不觉中又迎来落叶知秋的季节,秋风习习,送走了夏的酷热,迎来了秋的清爽.我感叹这个季节的到来,怕秋天的落叶,怕凄凉的孤雁南飞的景象,怕这恼人的秋风把我吹迷失在这个伤感的季节.伤感??? ...
- 一个简单的实现了智能虚拟女友—图灵机器人
前几天看到一个博客女码农献丑-企业智能机器人客服,关于微信智能客服的实现,里面讲到的机器人平台接口--图灵机器人. 今天突发奇想.想到微信上针对众ds的女友系列公众号,大多都非常脑残,不如借助该接 ...
- 基于图灵机器人接口的简单NLP学习
说明 图灵机器人提供在线接口,用户可自行注册学习,注册后官方提供想用的接口和连接方式,仅仅由于兴趣,做一个相当简单的聊天机器人,并开放核心源码,希望各位有闲情逸致的同胞可以继续丰富修改或扩展. 本品仅 ...
- itchat与图灵机器人简单使用
1.前言 本文章纯属娱乐,做的很简单,故不做较多描述 2.参考资料 感兴趣同学可以通过https://wxpy.readthedocs.io/zh/latest/这篇文章进行学习,不过只是基础部分 3 ...
- 图灵机器人:到基层去,做人工智能的开放平台
你有多久没和小冰聊天了? 这个由微软在今年端午节时所推出的"16岁萌妹子"曾在刚开始受到了相当多的关注,无论是迅速入驻各微信聊天群,还是后来在新浪微博等平台的复活,这个背着&quo ...
- 做一个专属于自己的图灵机器人
大家可以先跳转到机器人那一块,上机跑一跑效果,感受一下在钻研代码,如果不会再去看我所罗列到的知识点. 做出专属于你的图灵机器人 流程: 一:剖析一下生成器对象 二:类比java讲解py中的协程 三:做 ...
最新文章
- Java项目:家庭理财系统(java+SSM+JSP+Tomcat8+Mysql)
- 超高性能管线式HTTP请求(实践·原理·实现)
- 结构体定义容易混淆的地方
- 50本.NTE、C#相关技术书籍免费下载
- php发送get、post请求获取内容的几种方法
- 前端面试技巧和注意事项_我的前端面试总结(套路篇)
- 如何查找SAP Cloud for Customer UI页面对应的技术模型明细
- 数学推导题,NTT,快速数论变换,Wannafly-导数卷积
- python教程输入_python怎么输入一个集合
- python pytest mark.parametrize
- 以太坊ETH不能转账,状态一直是pending状态原因和解决方法
- 活动目录系列之二:单域环境的实现(单站点)
- 计算机中的c盘d盘,怎么把电脑中的D盘转换成C盘并删除原C盘系统
- 【2022刷题】受伤的皇后
- X64下进程隐藏实现与Debug
- 写在NPL小书出版之时
- Python中的datetime模块!
- 跟女神表白用计算机,终于跟女神表白了,她听后没说什么
- 力扣刷题之峰与谷(python)
- ktv服务器系统怎样加歌,明光市ktv点歌系统如何加歌
热门文章
- PHPMyWind支持PowerPoint上传
- iPhone计算机没有删除键,iphone备份相片没删除键怎么用电脑删除
- openshift介绍与应用
- CSS 背景颜色 background-color属性
- 联想R7000P莫名其妙黑屏问题记录
- 使用Java输出所有水仙花数
- git学习笔记[idea整合GitHub,Gitee](非常详细)
- 利用PyDoc查看python文档及生成HTML
- 如何使用 OpenShift Container Platform 的命令行工具 OC
- Revit二次开发_显示最近的轴网交点