PHP連結百度文心一言API取得隨機語句並產生詩歌的方法
隨著人工智慧技術的快速發展,自然語言處理能力的提升,我們可以藉助API來取得一些有趣的數據,像是百度文心一言API。本文介紹如何使用PHP連結百度文心一言API取得隨機語句,並將這些語句使用詩的形式呈現。
首先,我們需要準備工作:
poem_generator.php
。 接下來,讓我們來寫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); // 解析返回的JSON数据 $data = json_decode($result, true); if(isset($data['hitokoto'])){ return $data['hitokoto']; } return ""; } // 生成诗歌 function generatePoem() { $sentence = getRandomSentence(); // 获取随机语句 $data['text'] = $sentence; // 发送API请求 $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); // 解析API返回的结果 $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。
程式碼中,我們先定義了API請求位址、請求頭、請求數據,並利用getRandomSentence()
函數來取得隨機語句。然後,我們使用generatePoem()
函數透過API請求傳回的結果來產生詩。
將上述程式碼儲存為poem_generator.php
文件,並將其上傳到支援PHP的伺服器上,透過存取該文件即可產生隨機詩歌。
總結:
本文介紹了使用PHP連結百度文心一言API取得隨機語句,並將這些語句產生詩歌的方法。透過呼叫API接口,我們可以獲得有趣的數據,並將其應用於詩歌生成等應用中,為我們的程式帶來更多的樂趣和創意。希望本文對您有幫助。
以上是PHP連結百度文心一言API取得隨機語句並產生詩的方法的詳細內容。更多資訊請關注PHP中文網其他相關文章!