在测试的工作中,一直不间断的使用着python。最近,从Crossin先生那里知道了一个有意思的东西--腾讯AI开放平台(ai.qq.com),想着自己也实践一把。
说到“人工智能”,我们可能会想到像桑尼(电影:我,机器人)那样具有思想的机器人,也可能会想到钢铁侠里的超级AI管家JARVIS等。其实“人工智能”早已渗透到了我们的生活中,比如刷某音、某条的推荐信息,相机的美颜滤镜,智能驾驶汽车等等。
再来看一段视频:
对,没错,我们要给自己打造一个JARVIS。这里用到了AI平台的语音识别、智能闲聊、语音合成。目前的功能来说还是非常的初级的,勉强做到了智能语音应答。AI平台上的功能已经不少了,主要是自然语言处理、计算机视觉、智能语音三大方向。
平台文档很详细,而且提供了在线功能演示,但没有python的事例。实践中,在接口鉴权上卡了很久,也是因为第一次接触这个。我们知道在API中会使用签名机制对每个接口请求进行权限校验,对于校验不通过的请求,API将拒绝处理。
平台的签名算法是通用的,不同接口的区别就是要求的参数对不一样,计算签名使用的参数对也不一样。总体来说签名算法大概分为4步:
1、将请求参数对按key进行字典升序排序,得到有序的参数对列表N2、将列表N中的参数对按URL键值对的格式拼接成字符串,得到字符串T(如:key1=value1&key2=value2),URL键值拼接过程value部分需要URL编码,URL编码算法用大写字母,例如%E8,而不是小写%e83、将应用密钥以appkey为键名,组成URL键值拼接到字符串T末尾,得到字符串S(如:key1=value1&key2=value2&appkey=密钥)4、对字符串S进行MD5运算,将得到的MD5值所有字符转换成大写,得到接口请求签名
还有一些其他需要注意的地方,例如URL键值拼接过程value部分需要URL编码等,都在文档里写的很清楚。
是不是看起来很好玩,大家亲自动手来打造自己的“超级AI管家吧”。对文中代码有兴趣或者遇到任何问题,可以在后台留言给我。
领取专属 10元无门槛券
私享最新 技术干货