腾讯AI开放平台的接口调用指南
最近無意發(fā)現(xiàn)騰訊AI開放平臺上提供了大量好玩的人工智能云服務(wù),而且是完全免費的。只需要用QQ號登錄即可。這么好的東西,作為一個程序員,當(dāng)然要試試了!
從上圖可以看出騰訊AI開放平臺提供的人工智能服務(wù)主要有自然語言處理,計算機視覺和智能語音三大類。我當(dāng)然是從最簡單的自然語言處理開始學(xué)習(xí)。
這是騰訊AI開放平臺的自然語言處理的API說明:
https://ai.qq.com/doc/nlpbase.shtml
其實也就是我們熟悉的Restful API調(diào)用:
新建一個PHP文件,把下面這個鏈接的源代碼粘貼進去:
https://github.com/i042416/wechat/blob/master/tencent/newfile.php
然后在Eclipse里Run As->PHP CLI Application,
即可看到下列輸出:“騰訊AI開放平臺”這個句子,已經(jīng)被騰訊人工智能成功分詞成了:騰訊,AI,開放,平臺。
下面就來解釋下PHP代碼的主要邏輯。
$appkey = 'LHGNH0usjUTRRRSA';$params = array('app_id' => '2107823355','time_stamp' => strval(time()),'nonce_str' => strval(rand()),'text' => '騰訊AI開放平臺','sign' => '',);第一行和第四行分別為我在騰訊AI平臺上創(chuàng)建的測試應(yīng)用的key和ID。第五行是發(fā)起請求的時間戳,第六行用rand()生成了一個隨機數(shù),第七行為希望使用騰訊AI人工智能分詞的輸入句子,第8行sign是一個需要動態(tài)計算出的簽名值。
這個簽名值在下列PHP函數(shù)調(diào)用里計算:
params[′sign′]=getReqSign(params[′sign′]=getReqSign(params, $appkey);
現(xiàn)在進入getRegSign內(nèi)部:
首先執(zhí)行ksort對PHP的key-value數(shù)組$params按照key進行升序排序,可以比較上圖升序排序前和下圖排序后的順序:
接著把字典里每個key-value鍵值對用key=value&key=value…這種形式連接起來,注意text值需要用urlencode進行編碼。
最后把連接好的字符串用md5函數(shù)計算出MD5哈希值,然后用strtoupper轉(zhuǎn)成大寫,這就是計算好的簽名值。
最后一步就是調(diào)用doHttpPost發(fā)送請求。
Post請求的fields仍然是key=value&key=value這種類型的鍵值對,參考下面調(diào)試器里的截圖:
為方便您的參考,我把調(diào)試器里顯示的$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
最后發(fā)送請求,得到結(jié)果:
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;}要獲取更多Jerry的原創(chuàng)技術(shù)文章,請關(guān)注公眾號”汪子熙”或者掃描下面二維碼:
總結(jié)
以上是生活随笔為你收集整理的腾讯AI开放平台的接口调用指南的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 戴森首款洗地吸尘器正式发布 5699元你
- 下一篇: 中兴通讯股价逼近涨停:年底推出支持 Ch