Unity 图灵Turning 之 在Unity中实现图灵 聊天机器人 简单聊天的功能

Unity 图灵 之 在Unity中实现图灵 聊天机器人 简单聊天的功能

 

目录

Unity 图灵 之 在Unity中实现图灵聊天机器人简单聊天的功能

一、简单介绍

二、图灵官网关于在线聊天机器人的接入介绍

三、注意事项

四、效果预览

五、实现步骤

六、关键代码


 

 

一、简单介绍

Unity 工具类,自己整理的一些游戏开发可能用到的模块,单独独立使用,方便游戏开发。

本节介绍,在Unity中通过调用图灵的聊天api,实现简单的聊天功能。

 

二、图灵官网关于在线聊天机器人的接入介绍

官网 http://www.tuling123.com/

网址:https://www.kancloud.cn/turing/www-tuling123-com/718227

1、接口说明

API V2.0是基于图灵机器人平台语义理解、深度学习等核心技术,为广大开发者和企业提供的在线服务和开发接口。

目前API接口可调用聊天对话、语料库、技能三大模块的语料:

聊天对话是指平台免费提供的近10亿条公有对话语料,满足用户对话娱乐需求;

语料库是指用户在平台上传的私有语料,仅供个人查看使用,帮助用户最便捷的搭建专业领域次的语料。

技能服务是指平台打包的26种实用服务技能。涵盖生活、出行、购物等多个领域,一站式满足用户需求。

 

2、编码方式

UTF-8(调用图灵API的各个环节的编码方式均为UTF-8)

 

3、接口地址

http://openapi.tuling123.com/openapi/api/v2

 

4、请求方式

HTTP POST

 

5、请求参数

请求参数格式为 json

 

三、注意事项

1、调用图灵机器人API报错加密方式错误

结果报错 :加密方式错误。

不是代码的问题啦,是因为你打开了秘钥开关

解决方法:关上再运行代码就好了,或者参看文档添加该功能(这里不做介绍)

 

2、请求次数超过限制,想多几次,可以开通认证

Unity 图灵Turning 之 在Unity中实现图灵 聊天机器人 简单聊天的功能_第1张图片

 

3、记得添加 litjson.dll 插件到工程中

 

四、效果预览

Unity 图灵Turning 之 在Unity中实现图灵 聊天机器人 简单聊天的功能_第2张图片

 

五、实现步骤

0、到 图灵官网创建一个自己的聊天机器人,得到 apikey

创建机器人网址(前提有登陆图灵账号):http://www.tuling123.com/member/robot/index.jhtml

Unity 图灵Turning 之 在Unity中实现图灵 聊天机器人 简单聊天的功能_第3张图片

 

1、打开Unity,新建一个工程

Unity 图灵Turning 之 在Unity中实现图灵 聊天机器人 简单聊天的功能_第4张图片

 

2、在工程中添加一个脚本,来介绍输入的信息,然后传给图灵进行聊天结果返回

Unity 图灵Turning 之 在Unity中实现图灵 聊天机器人 简单聊天的功能_第5张图片

 

3、在场景中,添加两个输入框和一个Text

Unity 图灵Turning 之 在Unity中实现图灵 聊天机器人 简单聊天的功能_第6张图片

 

4、把脚本添加到场景中,并对应赋值

Unity 图灵Turning 之 在Unity中实现图灵 聊天机器人 简单聊天的功能_第7张图片

 

5、运行场景,效果如上

Unity 图灵Turning 之 在Unity中实现图灵 聊天机器人 简单聊天的功能_第8张图片

 

六、关键代码

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using LitJson;
using System.Text;
using UnityEngine.UI;

public class TuLingTest : MonoBehaviour
{
    private string url = "http://openapi.tuling123.com/openapi/api/v2";

    private string apiKey = "你的 apiKey ";
    public InputField InputText;
    public InputField id;
    public Text text;

    private void Update()
    {
        if (Input.GetKeyDown(KeyCode.A))                                   //按A发送消息,(鼠标要移出输入框)
        {
            HttpPostFunc(InputText.text);
        }
    }

    public void HttpPostFunc(string message)
    {
        StartCoroutine(HttpPost(message));
    }

    IEnumerator HttpPost(string message)
    {
        //JsonData可以表示JsonObject{},也可以表示JsonArry[]//4e03ee9c4e8cc2af//"1512267543"
        JsonData request = new JsonData();
        //perception
        request["perception"] = new JsonData();
        request["perception"]["inputText"] = new JsonData();
        request["perception"]["inputText"]["text"] = message;
        //userInfo
        request["userInfo"] = new JsonData();
        request["userInfo"]["apiKey"] = apiKey;
        request["userInfo"]["userId"] = id.text;
        //JsonMapper.ToJson(request)
        //将Json对象转为Json字符串,直接ToString容易出错
        //将Json字符串转为字节数组
        //进行一个网络推送
        WWW post = new WWW(url, Encoding.UTF8.GetBytes(JsonMapper.ToJson(request)));
        yield return post;
        Debug.Log(post.text);
        JsonData response = JsonMapper.ToObject(post.text);
        string result = response["results"][0]["values"]["text"].ToString();
        Debug.Log(result);
        text.text += "我:" + message + "\n" + "机器人:" + result + "\n";
    }
}

 

你可能感兴趣的:(基础,Unity,Unity,图灵,聊天机器人)