图灵SDK的简单实用

标签: sdk 机器人 java
590人阅读 评论(0) 收藏 举报
分类:

图灵SDK的简单实用

介绍

我们先看看官网的介绍:官网链接

特点

  • 智能度高:对话和语义准确度受到用户及行业认可
  • 场景丰富:能够应用在网站、软件及智能硬件各个领域里
  • 技能全面:图灵机器人提供了涵盖几乎所有生活领域的技能服务
  • 知识库强大:基于语义技术且支持批量上传的知识库功能
  • 响应快速:毫秒级响应速度,轻松应对巨量请求
  • 接入方便:只需简单的注册激活便可让自己的产品化身为智能机器人

使用场景

  • 虚拟机器人
  • 智能客服
  • 智能手表
  • 智能家居
  • 智能车载

比如:虚拟机器人 HTC的语音助手(小Hi)

使用

说了那么多,接下来我们也实现一个虚拟机器人(聊天机器人):我们输入一句话,会自动回复我们。
官方文档

步骤

  • 第一步:进入官网->注册登录->按照提示完成认证
    这里写图片描述
  • 第二步:选择个人中心->我的机器人->创建机器人
    这里写图片描述
  • 第三步:选择自定义
    这里写图片描述
  • 第四步:填写信息
    这里写图片描述
  • 第五步:下载demo和文档
    这里写图片描述

实现步骤

下面开始实现(简单点),Demo就一个输入框,一个按钮,一个文本

  • 新建工程
    布局:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    tools:context="com.rair.demo.MainActivity">

    <EditText
        android:hint="请输入"
        android:id="@+id/et_request"
        android:layout_width="match_parent"
        android:layout_height="wrap_content" />

    <Button
        android:text="请求"
        android:id="@+id/btn_request"
        android:layout_width="match_parent"
        android:layout_height="wrap_content" />

    <TextView
        android:id="@+id/tv_result"
        android:layout_width="match_parent"
        android:layout_height="wrap_content" />
</LinearLayout>
  • 导入下载的jar包只需要三个,倒入Gson包(不然会报错,找不到Gson类)
    这里写图片描述

  • 初始化SDK,最好放在Application中初始化

演示实在Activity中初始化

 /**
     * 初始化图灵
     */
    private void initTL() {
        SDKInitBuilder sdkInitBuilder = new SDKInitBuilder(this)
                .setTuringKey(TURING_KEY)
                .setUniqueId(UNIQUE_ID)
                .setSecret(SECRET);
        SDKInit.init(sdkInitBuilder, new InitListener() {
            /**
             * 初始化成功后再实例化TuringApiManager,否则很多功能不能使用
             */
            @Override
            public void onComplete() {
                apiManager = new TuringApiManager(getApplicationContext());
                Toast.makeText(getApplicationContext(), "初始化成功", Toast.LENGTH_SHORT).show();
            }

            @Override
            public void onFail(String s) {
                Toast.makeText(getApplicationContext(), "发生意外", Toast.LENGTH_SHORT).show();
            }
        });
    }

添加权限

 <uses-permission android:name="android.permission.READ_PHONE_STATE" />
 <uses-permission android:name="android.permission.INTERNET" />
  • 请求数据

按钮点击事件(获取输入文本并请求)

 @Override
    public void onClick(View v) {
        final String request = etRequest.getText().toString();
        if (TextUtils.isEmpty(request)) {
            Toast.makeText(this, "你没有输入内容", Toast.LENGTH_SHORT).show();
            return;
        }
        if (apiManager != null) {
            apiManager.requestTuringAPI(request);
        }

        apiManager.setHttpListener(new HttpConnectionListener() {
            @Override
            public void onError(ErrorMessage errorMessage) {

            }

            @Override
            public void onSuccess(RequestResult requestResult) {
                //成功回调
                Result result = new Gson().fromJson(requestResult.getContent().toString(), Result.class);
                String text = result.getText();
                tvResult.setText(text);
            }
        });
    }

Gson解析需要一个JavaBean对象

public class Result {

    private int code;
    private String text;
    private String url;

    public int getCode() {
        return code;
    }

    public void setCode(int code) {
        this.code = code;
    }

    public String getText() {
        return text;
    }

    public void setText(String text) {
        this.text = text;
    }

    public String getUrl() {
        return url;
    }

    public void setUrl(String url) {
        this.url = url;
    }
}

code 状态码
text 文本
url url链接

  • 完成,我们来运行一下
    这里写图片描述
    这里写图片描述

一个简单的聊天机器人就好了。

一个小程序

我们可以自由发挥添加很多功能

菜谱查询:
这里写图片描述
点击立即查看:
这里写图片描述
点击条目后:
这里写图片描述

还有例如航班查询:
这里写图片描述
这里写图片描述
天气查询:
这里写图片描述

也可以动动小脑经,利用图灵的智慧,结合android的辅助服务,自己研究一个QQ聊天机器人
这里写图片描述

总结:本应该总结一下,不过我想不到了O(∩_∩)O哈哈~,还是把上面Demo代码贴上

public class MainActivity extends AppCompatActivity implements View.OnClickListener {

    private EditText etRequest;
    private Button btnRequest;
    private TextView tvResult;

    //appkey
    private static final String TURING_KEY = "自己申请";
    //随便写一个
    private static final String UNIQUE_ID = "645207307";
    //秘钥
    private static final String SECRET = "xxxxxxxxxxxxx保密";
    private static final String TAG = "Rair";
    private TuringApiManager apiManager;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        etRequest = (EditText) findViewById(R.id.et_request);
        btnRequest = (Button) findViewById(R.id.btn_request);
        tvResult = (TextView) findViewById(R.id.tv_result);
        btnRequest.setOnClickListener(this);
        initTL();
    }

    /**
     * 初始化图灵
     */
    private void initTL() {
        SDKInitBuilder sdkInitBuilder = new SDKInitBuilder(this)
                .setTuringKey(TURING_KEY)
                .setUniqueId(UNIQUE_ID)
                .setSecret(SECRET);
        SDKInit.init(sdkInitBuilder, new InitListener() {
            /**
             * 初始化成功后再实例化TuringApiManager,否则很多功能不能使用
             */
            @Override
            public void onComplete() {
                apiManager = new TuringApiManager(getApplicationContext());
                Toast.makeText(getApplicationContext(), "初始化成功", Toast.LENGTH_SHORT).show();
            }

            @Override
            public void onFail(String s) {
                Toast.makeText(getApplicationContext(), "发生意外", Toast.LENGTH_SHORT).show();
            }
        });
    }

    @Override
    public void onClick(View v) {
        final String request = etRequest.getText().toString();
        if (TextUtils.isEmpty(request)) {
            Toast.makeText(this, "你没有输入内容", Toast.LENGTH_SHORT).show();
            return;
        }
        if (apiManager != null) {
            apiManager.requestTuringAPI(request);
        }

        apiManager.setHttpListener(new HttpConnectionListener() {
            @Override
            public void onError(ErrorMessage errorMessage) {

            }

            @Override
            public void onSuccess(RequestResult requestResult) {
                //成功回调
                Result result = new Gson().fromJson(requestResult.getContent().toString(), Result.class);
                String text = result.getText();
                tvResult.setText(text);
            }
        });
    }
}

到此Over了,O(∩_∩)O~~

查看评论

图灵机器人api调用

public static void main(String[] args) {         try {             JSONObject obj = new JSONOb...
  • lb521200200
  • lb521200200
  • 2017-02-17 17:31:36
  • 3099

图灵机器人聊天api

图灵机器人,功能很强大,可用于聊天、查询等多个领域 图灵机器人官网:http://www.wendacloud.com/ api地址:http://www.wendacloud.com/openapi...
  • pamchen
  • pamchen
  • 2014-05-05 19:19:32
  • 6539

图灵机器人(智能云交互API)的一个java实现简单例子

图灵机器人API可以用来做机器人的智能交互,上传一段话,该云机器人可以以Jason格式返回一个比较智能的回答,它支持云机器人的知识库管理和调教。 以下是一个java实现的简单例子,可以直接运行,将得...
  • u013453604
  • u013453604
  • 2015-10-22 19:30:36
  • 9489

图灵机器人API接入

//图灵机器人API接入 //官网申请的KEY,用于调用各种功能 $apiKey = “e8c190a005adc401867efd1ad2602f70”; //调用图灵...
  • samsunga3888
  • samsunga3888
  • 2015-06-03 10:50:56
  • 2303

聊天机器人的实现(基于C#和图灵API)

聊天机器人的C#简单实现,使用了图灵机器人API,Newtonsoft的JSON解析工具
  • u013218907
  • u013218907
  • 2014-12-28 15:32:37
  • 4574

图灵机器人SDK接入指南

图灵机器人SDK接入指南图灵机器人:官网注册账号注册个账号,创建个应用,进入后台,点开机器人接入,你会看到API key和secret下载SDK点击下载Android SDK,解压以后会有libsco...
  • q4878802
  • q4878802
  • 2016-06-03 14:54:02
  • 6251

图灵机器人API 2.0 SDK for PHP

官方没有web的SDK, 更没有PHP的SDK, 而且手册在认证环节写得不明不白, 所以本人写了PHP的SDK,经测试很好用。 访问Git: https://github.com/gdali/tuli...
  • gdali
  • gdali
  • 2017-06-06 18:30:05
  • 901

java微信后台完整代码包含图灵机器人

  • 2017年02月23日 08:15
  • 1.2MB
  • 下载

Java 调用图灵机器人

public static String tuLingJiqiren(String str) throws Exception{ String APIKEY = "注册后获得"; ...
  • u011072139
  • u011072139
  • 2015-02-03 14:04:09
  • 11475

图灵智能对话机器人DEMO

PS: 目前还有点bug,会继续修正 存在问题:当对话到达30个或以上只删除了机器人的消息。 ***bug已经修改。*** 设计步骤: 1、main布局和头像+对话框布局 2、得...
  • u014299265
  • u014299265
  • 2016-10-08 14:36:49
  • 1601
    个人资料
    持之以恒
    等级:
    访问量: 2万+
    积分: 813
    排名: 6万+
    文章分类
    最新评论