Rumah  >  Artikel  >  pembangunan bahagian belakang  >  PHP menyambung ke API Baidu Wenxin Yiyan untuk mendapatkan penapisan data dan konfigurasi penapis untuk jenis ayat tertentu

PHP menyambung ke API Baidu Wenxin Yiyan untuk mendapatkan penapisan data dan konfigurasi penapis untuk jenis ayat tertentu

王林
王林asal
2023-08-26 08:43:441257semak imbas

PHP menyambung ke API Baidu Wenxin Yiyan untuk mendapatkan penapisan data dan konfigurasi penapis untuk jenis ayat tertentu

PHP menyambung ke API Baidu Wenxin Yiyan untuk mendapatkan penapisan data dan konfigurasi penapis untuk jenis ayat tertentu

[Pengenalan]
Dengan perkembangan teknologi rangkaian, API (Antara Muka Pengaturcaraan Aplikasi) semakin digunakan secara meluas. API menyediakan antara muka piawai yang membolehkan sistem berbeza berkomunikasi antara satu sama lain. API Baidu Wenxin Yiyan ialah salah satu API yang biasa digunakan Ia menyediakan fungsi mendapatkan pelbagai jenis ayat, seperti animasi, komik, novel, dll. Artikel ini akan memperkenalkan cara menggunakan PHP untuk menyambung ke API Baidu Wenxin Yiyan untuk mendapatkan data jenis ayat tertentu, dan menapis data serta mengkonfigurasi penapis.

[Akses ke API Baidu Wenxin Yiyan]
Pertama, kami perlu mendaftar akaun pembangun Baidu dan membuat aplikasi untuk mendapatkan Kunci API dan Kunci Rahsia. Seterusnya, menggunakan PHP untuk menyambung ke API Baidu Wenxin Yiyan memerlukan penggunaan perpustakaan cURL dalam kod untuk menghantar permintaan HTTP dan menerima respons.

Pertama, kita perlu menentukan alamat permintaan dan parameter API seperti berikut:

$url = 'https://aip.baidubce.com/rpc/2.0/creation/v1/getSentence';
$params = array(
    'sourceType' => 0, // 句子类型,0为动画,1为漫画,2为小说
    'length' => 10, // 每次返回的句子数量
    'filterFlag' => 1, // 是否进行筛选,1为进行筛选,0为不筛选
    'filterType' => 0, // 筛选类型,0为默认筛选器,1为用户自定义筛选器
    'apiKey' => 'Your API Key',
    'secretKey' => 'Your Secret Key',
);

Seterusnya, kami menggunakan perpustakaan cURL untuk menghantar permintaan HTTP dan memproses hasil yang dikembalikan seperti berikut:

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($params));
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$response = curl_exec($ch);
curl_close($ch);

$result = json_decode($response, true);
if ($result && isset($result['error_code']) && $result['error_code'] === 0) {
    // 解析和处理返回的句子数据
    $sentences = $result['results'];
    foreach ($sentences as $sentence) {
        echo $sentence['content'] . PHP_EOL;
    }
} else {
    echo 'API请求失败' . PHP_EOL;
}

Dalam kod di atas, kami mula-mula menghantar permintaan POST ke alamat API Baidu Wenxin Yiyan melalui perpustakaan cURL dan lulus parameter. Kemudian, gunakan fungsi json_decode untuk menghuraikan data format JSON yang dikembalikan ke dalam tatasusunan PHP. Akhir sekali, tentukan sama ada hasil yang dikembalikan adalah betul, dan rentas dan keluarkan kandungan setiap ayat.

【Penapisan data dan konfigurasi penapis】
Baidu Wenxin Yiyan API menyediakan penapisan data dan fungsi konfigurasi penapis, yang boleh menapis ayat yang tidak memenuhi keperluan berdasarkan peraturan penapisan yang ditentukan pengguna. Berikut ialah contoh konfigurasi penapis:

{
    "filter_type": 1,
    "filter_ranges": [
        {
            "key": "category",
            "type": "equal",
            "value": "电影"
        },
        {
            "key": "source",
            "type": "in",
            "value": ["动画", "漫画"]
        },
        {
            "key": "length",
            "type": "less_than",
            "value": 50
        }
    ]
}

Konfigurasi di atas akan menapis ayat yang diklasifikasikan sebagai filem, yang sumbernya adalah animasi atau komik, dan yang panjangnya kurang daripada 50 aksara. Kami boleh menghantar konfigurasi ini kepada API Baidu Wenxin Yiyan melalui parameter, seperti yang ditunjukkan di bawah:

$filter = file_get_contents('filter.json');
$params['filter'] = $filter;

Dalam kod di atas, kami mula-mula menyimpan konfigurasi penapis dalam fail bernama filter.json, dan kemudian menggunakan Fungsi file_get_contents membaca kandungan fail konfigurasi dan menyerahkannya kepada parameter penapis dalam tatasusunan $params.

Akhir sekali, hantar permintaan HTTP ke API Baidu Wenxin Yiyan sekali lagi dan proses hasil yang dikembalikan seperti berikut:

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($params));
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$response = curl_exec($ch);
curl_close($ch);

$result = json_decode($response, true);
if ($result && isset($result['error_code']) && $result['error_code'] === 0) {
    // 解析和处理返回的句子数据
    $sentences = $result['results'];
    foreach ($sentences as $sentence) {
        echo $sentence['content'] . PHP_EOL;
    }
} else {
    echo 'API请求失败' . PHP_EOL;
}

Dalam kod di atas, kami hanya perlu menambah parameter $filter untuk lulus konfigurasi penapis. Kemudian, data ayat yang dikembalikan dihuraikan dan diproses semula.

【Kesimpulan】
Melalui pengenalan artikel ini, kami telah mempelajari cara menggunakan PHP untuk menyambung ke API Baidu Wenxin Yiyan untuk mendapatkan data jenis ayat tertentu, dan menapis data serta mengkonfigurasi penapis. Ini memberikan asas dan rujukan kepada kami untuk membangunkan aplikasi berdasarkan API Baidu Wenxin Yiyan. Sudah tentu, mengikut keperluan sebenar, kami boleh menyesuaikan konfigurasi penapis yang berbeza untuk memenuhi lebih banyak keperluan penapisan data. Semoga artikel ini bermanfaat kepada anda.

Atas ialah kandungan terperinci PHP menyambung ke API Baidu Wenxin Yiyan untuk mendapatkan penapisan data dan konfigurasi penapis untuk jenis ayat tertentu. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn