隨著人工智能技術的不斷進步,尤其是自然語言處理能力的提升,開發者可以通過調用API獲取有趣的數據。百度文心一言API是一個很好的例子,它可以提供隨機的語句並生成詩歌。本文將介紹如何使用PHP連接百度文心一言API,獲取隨機語句並將其生成詩歌。
在開始之前,你需要完成以下準備工作:
接下來,我們編寫PHP代碼,實現連接百度文心一言API並生成詩歌的功能。
<?php
// 定義API Key和Secret Key
define('API_KEY', 'your_api_key');
define('SECRET_KEY', 'your_secret_key');
// 定義API請求地址
define('API_URL', 'https://aip.baidubce.com/rpc/2.0/ai_custom/v1/text_cls/poem');
// 定義HTTP請求頭
$headers = array(
'Content-Type: application/json;charset=UTF-8',
);
// 結構API請求數據
$data = array(
'model_id' => 'your_model_id',
'text' => '',
);
// 獲取隨機語句
function getRandomSentence() {
$curl = curl_init();
$timeout = 30;
$url = "https://v1.hitokoto.cn/";
curl_setopt($curl, CURLOPT_URL, $url);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl, CURLOPT_CONNECTTIMEOUT, $timeout);
$result = curl_exec($curl);
curl_close($curl);
$data = json_decode($result, true);
if (isset($data['hitokoto'])) {
return $data['hitokoto'];
}
return "";
}
// 生成詩歌
function generatePoem() {
$sentence = getRandomSentence();
$data['text'] = $sentence;
$ch = curl_init(API_URL);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($data));
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
curl_setopt($ch, CURLOPT_TIMEOUT, 30);
$response = curl_exec($ch);
curl_close($ch);
$result = json_decode($response, true);
if (isset($result['results']) && count($result['result']) > 0) {
$poem = $result['result'][0]['poem'];
echo $poem;
} else {
echo "生成詩歌失敗";
}
}
// 調用生成詩歌函數
generatePoem();
?>
在上述代碼中,`your_api_key` 和`your_secret_key` 需要替換為你自己的API Key和Secret Key,`your_model_id` 需要替換為你創建的模型ID。
該代碼的工作原理是,首先通過`getRandomSentence()` 函數獲取一條隨機的語句,然後通過`generatePoem()` 函數將該語句傳遞給API,最終返回一首生成的詩歌。
將上面的代碼保存為`poem_generator.php` 文件,並上傳到支持PHP的服務器上。在瀏覽器中訪問該文件,即可生成一首隨機詩歌。
通過本文的介紹,你可以學會如何使用PHP連接百度文心一言API,獲取隨機語句並生成詩歌。這樣的技術不僅可以應用於詩歌創作,還可以用於其他自然語言處理任務,帶來更多創意與樂趣。
相關標籤:
API