首頁  >  文章  >  後端開發  >  PHP連結百度文心一言API取得特定類型句子並進行翻譯的實作方法

PHP連結百度文心一言API取得特定類型句子並進行翻譯的實作方法

WBOY
WBOY原創
2023-08-12 16:09:07930瀏覽

PHP連結百度文心一言API取得特定類型句子並進行翻譯的實作方法

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中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn