PHP連結百度文心一言API取得特定類型句子並進行翻譯的實作方法
概述:
在本文中,我們將學習如何利用PHP連結百度文心一言API,取得特定類型的句子,並透過百度翻譯API對其進行翻譯。這可以為我們提供一種簡單而有趣的方式來獲取句子和進行翻譯。我們將首先了解百度文心一言API的基本用法,然後使用PHP編寫程式碼來實作該功能。
步驟1:申請API金鑰
首先,我們需要在百度開放平台上註冊並申請文心一言API金鑰。開啟百度開放平台網站(https://openapi.baidu.com/),註冊並登入。然後創建一個新的應用程式並選擇文心一言API。在申請API金鑰時,請確保將"allow_baidu_translate"參數設為"true",以便我們可以使用百度翻譯API翻譯句子。
步驟2:連結百度文心一言API
使用以下程式碼片段連接百度文心一言API,並取得特定類型的一句話:
<?php $apiKey = 'YOUR_API_KEY'; $type = 'TYPE_OF_SENTENCE'; // 可选择的句子类型: tangshi, songci, sanwen, lizhi, jingdian, gushi $apiUrl = "https://api.lovelive.tools/api/SweetNothings/$type"; $curl = curl_init(); curl_setopt_array($curl, array( CURLOPT_URL => $apiUrl, CURLOPT_RETURNTRANSFER => true, CURLOPT_ENCODING => '', CURLOPT_MAXREDIRS => 10, CURLOPT_TIMEOUT => 0, CURLOPT_FOLLOWLOCATION => true, CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1, CURLOPT_CUSTOMREQUEST => 'GET', CURLOPT_HTTPHEADER => array( 'Content-Type: application/json', 'Authorization: apikey ' . $apiKey ), )); $response = curl_exec($curl); curl_close($curl); if($response !== false) { $result = json_decode($response, true); $sentence = $result['data']['hitokoto']; } else { $sentence = 'Error: Failed to fetch sentence.'; } echo $sentence; ?>
請確保將YOUR_API_KEY
替換為您申請的百度文心一言API金鑰。也可以選擇類型:tangshi
(唐詩)、songci
(宋詞)、sanwen
(散文)、lizhi
(勵志)、jingdian
(句子)、gushi
(故事)。
步驟3:連接百度翻譯API
接下來,我們使用百度翻譯API對獲取到的句子進行翻譯。首先,我們需要在百度開放平台上註冊並申請翻譯API金鑰。在申請API金鑰時,請確保在應用程式設定中將"存取控制"項設為"開放",以便我們可以透過API發送請求。
<?php $apiKey = 'YOUR_TRANSLATION_API_KEY'; $sentenceToTranslate = '我喜欢编程'; // 可替换成获取的句子 $apiUrl = "http://api.fanyi.baidu.com/api/trans/vip/translate"; $fromLang = "auto"; $toLang = "en"; $apiSalt = rand(10000, 99999); $apiSign = md5($apiKey . $sentenceToTranslate . $apiSalt . 'API_KEY_SECRET'); $translationUrl = "$apiUrl?q=" . urlencode($sentenceToTranslate) . "&from=$fromLang&to=$toLang&appid=$apiKey&salt=$apiSalt&sign=$apiSign"; $curl = curl_init(); curl_setopt_array($curl, array( CURLOPT_URL => $translationUrl, CURLOPT_RETURNTRANSFER => true, CURLOPT_ENCODING => '', CURLOPT_MAXREDIRS => 10, CURLOPT_TIMEOUT => 0, CURLOPT_FOLLOWLOCATION => true, CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1, CURLOPT_CUSTOMREQUEST => 'GET', CURLOPT_HTTPHEADER => array( 'Content-Type: application/json' ), )); $response = curl_exec($curl); curl_close($curl); if($response !== false) { $result = json_decode($response, true); $translatedSentence = $result['trans_result'][0]['dst']; } else { $translatedSentence = 'Error: Failed to translate sentence.'; } echo $translatedSentence; ?>
請確保將YOUR_TRANSLATION_API_KEY
替換為您申請的百度翻譯API金鑰。也可以根據需要將來源語言和目標語言變更為其他值。
透過上述程式碼的實現,我們已經成功地連結了百度文心一言API,並取得特定類型的句子。然後,我們使用百度翻譯API對句子進行了翻譯。您可以根據自己的需求進行修改和擴展。希望這篇文章對您有幫助,謝謝閱讀!
以上是PHP連結百度文心一言API取得特定類型句子並進行翻譯的實作方法的詳細內容。更多資訊請關注PHP中文網其他相關文章!