温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

如何进行AI开放平台的接口调用

发布时间:2021-12-31 10:31:37 来源:亿速云 阅读:155 作者:柒染 栏目:云计算

如何进行AI开放平台的接口调用,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。

最近无意发现腾讯AI开放平台上提供了大量好玩的人工智能云服务,而且是完全免费的。只需要用QQ号登录即可。这么好的东西,作为一个程序员,当然要试试了!

如何进行AI开放平台的接口调用

从上图可以看出腾讯AI开放平台提供的人工智能服务主要有自然语言处理,计算机视觉和智能语音三大类。我当然是从最简单的自然语言处理开始学习。

这是腾讯AI开放平台的自然语言处理的API说明:

https://ai.qq.com/doc/nlpbase.shtml

其实也就是我们熟悉的Restful API调用:

如何进行AI开放平台的接口调用

新建一个PHP文件,把下面这个链接的源代码粘贴进去:

https://github.com/i042416/wechat/blob/master/tencent/newfile.php

然后在Eclipse里Run As->PHP CLI Application,

如何进行AI开放平台的接口调用

即可看到下列输出:“腾讯AI开放平台”这个句子,已经被腾讯人工智能成功分词成了:腾讯,AI,开放,平台。

如何进行AI开放平台的接口调用

下面就来解释下PHP代码的主要逻辑。

$appkey = 'LHGNH0usjUTRRRSA';
$params = array(    'app_id' => '2107823355',    'time_stamp' => strval(time()),     'nonce_str' => strval(rand()),     'text' => '腾讯AI开放平台',     'sign' => '',
);

第一行和第四行分别为我在腾讯AI平台上创建的测试应用的key和ID。第五行是发起请求的时间戳,第六行用rand()生成了一个随机数,第七行为希望使用腾讯AI人工智能分词的输入句子,第8行sign是一个需要动态计算出的签名值。

如何进行AI开放平台的接口调用

这个签名值在下列PHP函数调用里计算:

params, $appkey);

现在进入getRegSign内部:

如何进行AI开放平台的接口调用

首先执行ksort对PHP的key-value数组$params按照key进行升序排序,可以比较上图升序排序前和下图排序后的顺序:

如何进行AI开放平台的接口调用

接着把字典里每个key-value键值对用key=value&key=value...这种形式连接起来,注意text值需要用urlencode进行编码。

如何进行AI开放平台的接口调用

最后把连接好的字符串用md5函数计算出MD5哈希值,然后用strtoupper转成大写,这就是计算好的签名值。

如何进行AI开放平台的接口调用

最后一步就是调用doHttpPost发送请求。

如何进行AI开放平台的接口调用

Post请求的fields仍然是key=value&key=value这种类型的键值对,参考下面调试器里的截图:

如何进行AI开放平台的接口调用

为方便您的参考,我把调试器里显示的$body记录在下面:

app_id=2107823355&time_stamp=1533960023&nonce_str=12169&text=%CC%DA%D1%B6AI%BF%AA%B7%C5%C6%BD%CC%A8&sign=EA9CAC254A17729B20FAF28757E775DD

最后发送请求,得到结果:

curl_setopt($curl, CURLOPT_HEADER, false);
curl_setopt($curl, CURLOPT_NOBODY, false);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, true);
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
$response = curl_exec($curl);if ($response === false) {
    $response = false;    break;
}
$code = curl_getinfo($curl, CURLINFO_HTTP_CODE);if ($code != 200) {
    $response = false;    break;
}

如何进行AI开放平台的接口调用

看完上述内容是否对您有帮助呢?如果还想对相关知识有进一步的了解或阅读更多相关文章,请关注亿速云行业资讯频道,感谢您对亿速云的支持。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

ai
AI