业务扩展:图灵机器人调用(API)接口模式的开发流程及其注意事项

发布时间 2023-04-17 14:03:31作者: 泔茶先呐

业务场景:在网站添加一个可以回答用户问题的对话机器人;

解决方案:使用三方图灵机器人(turing)进行语料库控制,数据统计,问题反馈等;

操作流程:

1、申请图灵开发者账号权限,官网网站:http://www.tuling123.com/

2、购买相应套餐获取机器人功能,完成认证之后可获得免费版,未完成认证则需要完成套餐购买;

3、进入个人中心(机器人控制台)设置机器人基本信息,获取机器人相关参数:apiKey,api接口文档等;

 

4、前端聊天对话框搭建,可以使用三方插件,也可以自行编写,建议对机器人内容组件化(或模块化),实现多项目复用,调用图灵接口传入问题,接口返回问答渲染到对话框;

接口说明:

接口地址:http://openapi.turingapi.com/openapi/api/v2

请求方式:POST

请求参数:请求参数格式为 json

请求示例:

{
    "reqType":0,
    "perception": {
        "inputText": {
            "text": "附近的酒店", // 对话内容 必传
        },
        "inputImage": {
            "url": "imageUrl", // 图片
        },
        "selfInfo": { // 客户端属性
            "location": {
                "city": "北京",
                "province": "北京",
                "street": "信息路"
            }
        }
    },
    "userInfo": {
        "apiKey": "", // 申请的apiKey, 必传
        "userId": "", // userId, 必传
    }
}

返回示例:

{
    "intent": {
        "code": 10005,
        "intentName": "",
        "actionName": "",
        "parameters": {
            "nearby_place": "酒店"
        }
    },
    "results": [
        {
             "groupType": 1,
            "resultType": "url",
            "values": {
                "url": "http://m.elong.com/hotel/0101/nlist/#indate=2016-12-10&outdate=2016-12-11&keywords=%E4%BF%A1%E6%81%AF%E8%B7%AF"
            }
        },
        {
             "groupType": 1,
            "resultType": "text",
            "values": {
                "text": "亲,已帮你找到相关酒店信息"
            }
        }
    ]
}

异常返回示例:

{
    'intent':
        {
            'code':5000
        }
}

错误码对照表:

异常码说明
5000 无解析结果
6000 暂不支持该功能
4000 请求参数格式错误
4001 加密方式错误
4002 无功能权限
4003 该apikey没有可用请求次数
4005 无功能权限
4007 apikey不合法
4100 userid获取失败
4200 上传格式错误
4300 批量操作超过限制
4400 没有上传合法userid
4500 userid申请个数超过限制
4600 输入内容为空
4602 输入文本内容超长(上限150)
7002 上传信息失败
8008 服务器错误
0 上传成功

 

请求问题补充:接口不建议前端直接请求,建议后端中间桥接,一是接口存在跨域,如果直接使用需要解决跨域问题,vue使用了proxy代理解决了跨域问题,但是服务部署时仍需要做相应配置,二是直接请求会暴露必传参数apiKey到请求体中,存在安全隐患;

生产阶段如自己调用则需开启代理:

配置如下:

在vue.config.js中添加代码,没有此文件则在根目录创建

module.exports = {
    devServer: {
        // host: 'xxsl.job.com',
        // port: 9246,
        // https: true,
        proxy: {
            // 配置跨域 带/robot得路径匹配替换为下面得地址,并且移除路径中的/robot
            '/robot': {
                target: "http://openapi.turingapi.com/openapi",
                changeOrigin: true,
                pathRewrite: {
                    '^/robot': ''
                }
            },
            '/api': {
                target: "https://xxsl.job.com",
                changeOrigin: true,
                pathRewrite: {
                    '^/api': '/api'
                }
            }
        }
    }
}

总结:当下chatGPT大火,使用图灵机器人多少还是觉得有些AI智zhang了,但是满足业务需求,解决回答用户问题还是完全能够胜任,而且具备话术库导入,对于企业的对外服务性还是提升很大的。