溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

如何進(jìn)行AI開放平臺(tái)的接口調(diào)用

發(fā)布時(shí)間:2021-12-31 10:31:37 來源:億速云 閱讀:165 作者:柒染 欄目:云計(jì)算

如何進(jìn)行AI開放平臺(tái)的接口調(diào)用,很多新手對(duì)此不是很清楚,為了幫助大家解決這個(gè)難題,下面小編將為大家詳細(xì)講解,有這方面需求的人可以來學(xué)習(xí)下,希望你能有所收獲。

最近無意發(fā)現(xiàn)騰訊AI開放平臺(tái)上提供了大量好玩的人工智能云服務(wù),而且是完全免費(fèi)的。只需要用QQ號(hào)登錄即可。這么好的東西,作為一個(gè)程序員,當(dāng)然要試試了!

如何進(jìn)行AI開放平臺(tái)的接口調(diào)用

從上圖可以看出騰訊AI開放平臺(tái)提供的人工智能服務(wù)主要有自然語言處理,計(jì)算機(jī)視覺和智能語音三大類。我當(dāng)然是從最簡單的自然語言處理開始學(xué)習(xí)。

這是騰訊AI開放平臺(tái)的自然語言處理的API說明:

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

其實(shí)也就是我們熟悉的Restful API調(diào)用:

如何進(jìn)行AI開放平臺(tái)的接口調(diào)用

新建一個(gè)PHP文件,把下面這個(gè)鏈接的源代碼粘貼進(jìn)去:

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

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

如何進(jìn)行AI開放平臺(tái)的接口調(diào)用

即可看到下列輸出:“騰訊AI開放平臺(tái)”這個(gè)句子,已經(jīng)被騰訊人工智能成功分詞成了:騰訊,AI,開放,平臺(tái)。

如何進(jìn)行AI開放平臺(tái)的接口調(diào)用

下面就來解釋下PHP代碼的主要邏輯。

$appkey = 'LHGNH0usjUTRRRSA';
$params = array(    'app_id' => '2107823355',    'time_stamp' => strval(time()),     'nonce_str' => strval(rand()),     'text' => '騰訊AI開放平臺(tái)',     'sign' => '',
);

第一行和第四行分別為我在騰訊AI平臺(tái)上創(chuàng)建的測試應(yīng)用的key和ID。第五行是發(fā)起請(qǐng)求的時(shí)間戳,第六行用rand()生成了一個(gè)隨機(jī)數(shù),第七行為希望使用騰訊AI人工智能分詞的輸入句子,第8行sign是一個(gè)需要?jiǎng)討B(tài)計(jì)算出的簽名值。

如何進(jìn)行AI開放平臺(tái)的接口調(diào)用

這個(gè)簽名值在下列PHP函數(shù)調(diào)用里計(jì)算:

params, $appkey);

現(xiàn)在進(jìn)入getRegSign內(nèi)部:

如何進(jìn)行AI開放平臺(tái)的接口調(diào)用

首先執(zhí)行ksort對(duì)PHP的key-value數(shù)組$params按照key進(jìn)行升序排序,可以比較上圖升序排序前和下圖排序后的順序:

如何進(jìn)行AI開放平臺(tái)的接口調(diào)用

接著把字典里每個(gè)key-value鍵值對(duì)用key=value&key=value...這種形式連接起來,注意text值需要用urlencode進(jìn)行編碼。

如何進(jìn)行AI開放平臺(tái)的接口調(diào)用

最后把連接好的字符串用md5函數(shù)計(jì)算出MD5哈希值,然后用strtoupper轉(zhuǎn)成大寫,這就是計(jì)算好的簽名值。

如何進(jìn)行AI開放平臺(tái)的接口調(diào)用

最后一步就是調(diào)用doHttpPost發(fā)送請(qǐng)求。

如何進(jìn)行AI開放平臺(tái)的接口調(diào)用

Post請(qǐng)求的fields仍然是key=value&key=value這種類型的鍵值對(duì),參考下面調(diào)試器里的截圖:

如何進(jìn)行AI開放平臺(tái)的接口調(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ā)送請(qǐng)求,得到結(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;
}

如何進(jìn)行AI開放平臺(tái)的接口調(diào)用

看完上述內(nèi)容是否對(duì)您有幫助呢?如果還想對(duì)相關(guān)知識(shí)有進(jìn)一步的了解或閱讀更多相關(guān)文章,請(qǐng)關(guān)注億速云行業(yè)資訊頻道,感謝您對(duì)億速云的支持。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請(qǐng)聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

ai
AI