首先要在图灵机器人官网注册(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;}}

使用图灵机器人做简单的聊天系统相关推荐

  1. 手把手教你用图灵机器人做微信公众号自动回复助手

    本文首发于我的个人博客:尾尾部落 阅读这篇文章,你将会学会以下内容: 如何用flask搭建微信公众平台服务 如何将在微信公众平台调用图灵机器人 如何用uwsgi+supervisor+nginx部署f ...

  2. [初识]使用百度AI接口,图灵机器人实现简单语音对话

    一.准备 1.百度ai开放平台提供了优质的接口资源https://ai.baidu.com/  (基本免费) 2.在语音识别的接口中, 对中文来说, 讯飞的接口是很好的选择https://www.xf ...

  3. android图灵机器人教程,简单的调用图灵机器人

    publicTuLingTest() { InitializeComponent(); }private ActionShowMsg;private void TuLingTest_Load(obje ...

  4. python图灵_python图灵机器人

    时间过得好快,不知不觉中又迎来落叶知秋的季节,秋风习习,送走了夏的酷热,迎来了秋的清爽.我感叹这个季节的到来,怕秋天的落叶,怕凄凉的孤雁南飞的景象,怕这恼人的秋风把我吹迷失在这个伤感的季节.伤感??? ...

  5. 一个简单的实现了智能虚拟女友—图灵机器人

    前几天看到一个博客女码农献丑-企业智能机器人客服,关于微信智能客服的实现,里面讲到的机器人平台接口­­--图灵机器人. 今天突发奇想.想到微信上针对众ds的女友系列公众号,大多都非常脑残,不如借助该接 ...

  6. 基于图灵机器人接口的简单NLP学习

    说明 图灵机器人提供在线接口,用户可自行注册学习,注册后官方提供想用的接口和连接方式,仅仅由于兴趣,做一个相当简单的聊天机器人,并开放核心源码,希望各位有闲情逸致的同胞可以继续丰富修改或扩展. 本品仅 ...

  7. itchat与图灵机器人简单使用

    1.前言 本文章纯属娱乐,做的很简单,故不做较多描述 2.参考资料 感兴趣同学可以通过https://wxpy.readthedocs.io/zh/latest/这篇文章进行学习,不过只是基础部分 3 ...

  8. 图灵机器人:到基层去,做人工智能的开放平台

    你有多久没和小冰聊天了? 这个由微软在今年端午节时所推出的"16岁萌妹子"曾在刚开始受到了相当多的关注,无论是迅速入驻各微信聊天群,还是后来在新浪微博等平台的复活,这个背着&quo ...

  9. 做一个专属于自己的图灵机器人

    大家可以先跳转到机器人那一块,上机跑一跑效果,感受一下在钻研代码,如果不会再去看我所罗列到的知识点. 做出专属于你的图灵机器人 流程: 一:剖析一下生成器对象 二:类比java讲解py中的协程 三:做 ...

最新文章

  1. Java项目:家庭理财系统(java+SSM+JSP+Tomcat8+Mysql)
  2. 超高性能管线式HTTP请求(实践·原理·实现)
  3. 结构体定义容易混淆的地方
  4. 50本.NTE、C#相关技术书籍免费下载
  5. php发送get、post请求获取内容的几种方法
  6. 前端面试技巧和注意事项_我的前端面试总结(套路篇)
  7. 如何查找SAP Cloud for Customer UI页面对应的技术模型明细
  8. 数学推导题,NTT,快速数论变换,Wannafly-导数卷积
  9. python教程输入_python怎么输入一个集合
  10. python pytest mark.parametrize
  11. 以太坊ETH不能转账,状态一直是pending状态原因和解决方法
  12. 活动目录系列之二:单域环境的实现(单站点)
  13. 计算机中的c盘d盘,怎么把电脑中的D盘转换成C盘并删除原C盘系统
  14. 【2022刷题】受伤的皇后
  15. X64下进程隐藏实现与Debug
  16. 写在NPL小书出版之时
  17. Python中的datetime模块!
  18. 跟女神表白用计算机,终于跟女神表白了,她听后没说什么
  19. 力扣刷题之峰与谷(python)
  20. ktv服务器系统怎样加歌,明光市ktv点歌系统如何加歌

热门文章

  1. PHPMyWind支持PowerPoint上传
  2. iPhone计算机没有删除键,iphone备份相片没删除键怎么用电脑删除
  3. openshift介绍与应用
  4. CSS 背景颜色 background-color属性
  5. 联想R7000P莫名其妙黑屏问题记录
  6. 使用Java输出所有水仙花数
  7. git学习笔记[idea整合GitHub,Gitee](非常详细)
  8. 利用PyDoc查看python文档及生成HTML
  9. 如何使用 OpenShift Container Platform 的命令行工具 OC
  10. Revit二次开发_显示最近的轴网交点