Rumah  >  Artikel  >  pembangunan bahagian belakang  >  PHP menyambung ke API Baidu Wenxin Yiyan untuk mendapatkan kaedah pengisihan dan penapisan tersuai untuk jenis ayat tertentu

PHP menyambung ke API Baidu Wenxin Yiyan untuk mendapatkan kaedah pengisihan dan penapisan tersuai untuk jenis ayat tertentu

PHPz
PHPzasal
2023-08-27 12:22:47850semak imbas

PHP menyambung ke API Baidu Wenxin Yiyan untuk mendapatkan kaedah pengisihan dan penapisan tersuai untuk jenis ayat tertentu

PHP menyambung ke API Baidu Wenxin Yiyan untuk mendapatkan kaedah pengisihan dan penapisan tersuai untuk jenis ayat tertentu

Apabila kita perlu memaparkan beberapa ayat pada tapak web atau aplikasi, API Baidu Wenxin Yiyan ialah pilihan yang sangat baik . Ia menyediakan pelbagai jenis ayat, seperti inspirasi, cinta, puisi, dsb., yang boleh membawa inspirasi rohani dan resonans emosi yang berbeza kepada pengguna. Artikel ini akan memperkenalkan cara menggunakan PHP untuk menyambung ke API Baidu Wenxin Yiyan dan melaksanakan kaedah pengisihan dan penapisan tersuai.

Pertama sekali, kami perlu memohon kunci akses API Baidu Wenxin Yiyan. Daftar dan buat aplikasi baharu di tapak web Baidu AI Open Platform, kemudian dapatkan Kunci API dan Kunci Rahsia dalam aplikasi.

Seterusnya, kita boleh menggunakan perpustakaan curl PHP untuk menyambung ke API Baidu Wenxin Yiyan dan mendapatkan data ayat. Berikut adalah contoh kod mudah:

<?php
    $url = 'https://aip.baidubce.com/rpc/2.0/creation/v1/get_sentence';
    $api_key = 'YOUR_API_KEY';
    $secret_key = 'YOUR_SECRET_KEY';

    $type = 'love'; // 这里可以根据需要替换成其他类型的句子
    
    $params = [
        'type' => $type
    ];
    
    $headers = [
        'Content-Type: application/json',
        'charset: UTF-8'
    ];
    
    // 生成签名
    $timestamp = time();
    $signature = md5($api_key . $timestamp . $secret_key);
    
    $headers[] = 'X-Mock-Appid: 123456'; // 这里可以根据需要修改成自己的AppID
    $headers[] = 'X-Token: ' . $signature;
    $headers[] = 'X-Timestamp: ' . $timestamp;
    
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, $url);
    curl_setopt($ch, CURLOPT_POST, true);
    curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($params));
    curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    $result = curl_exec($ch);
    curl_close($ch);

    // 输出结果
    echo $result;
?>

Dalam kod contoh ini, kami akan menggunakan ayat jenis cinta sebagai contoh Anda boleh menggantikannya dengan jenis lain seperti yang diperlukan, seperti inspirasi, sedih, dll. Pada masa yang sama, anda juga perlu menggantikan YOUR_API_KEY dan YOUR_SECRET_KEY dengan Kunci API dan Kunci Rahsia yang anda perolehi pada platform terbuka Baidu AI.

Selepas melaksanakan kod di atas, anda akan mendapat data JSON yang dikembalikan, yang mengandungi berbilang ayat. Sekarang, mari kita laksanakan kaedah pengisihan dan penapisan tersuai.

Yang pertama ialah kaedah pengisihan tersuai. Katakan kita ingin mengisih mengikut panjang ayat, kita boleh mengubah suai kod seperti berikut:

// 输出结果
$result = json_decode($result, true);
$sentences = $result['sentences'];

// 自定义排序方法
function customSort($a, $b) {
    $aLength = mb_strlen($a['content'], 'utf-8');
    $bLength = mb_strlen($b['content'], 'utf-8');
    
    if ($aLength == $bLength) {
        return 0;
    }
    
    return ($aLength < $bLength) ? -1 : 1;
}

// 使用自定义排序方法进行排序
usort($sentences, 'customSort');

// 输出排序后的结果
foreach ($sentences as $sentence) {
    echo $sentence['content'] . "
";
}

Dalam contoh ini, fungsi customSort ialah kaedah pengisihan tersuai yang kami takrifkan untuk membandingkan panjang dua ayat. Fungsi usort akan menggunakan kaedah isihan tersuai ini untuk mengisih. Akhir sekali, kami menggunakan gelung foreach untuk mengulangi hasil yang diisih dan mengeluarkannya.

Langkah seterusnya ialah kaedah penapisan tersuai. Katakan kita hanya mahu memaparkan ayat yang panjangnya lebih daripada 10, kita boleh mengubah suai kod seperti berikut:

// 输出结果
$result = json_decode($result, true);
$sentences = $result['sentences'];

// 自定义过滤方法
function customFilter($sentence) {
    $length = mb_strlen($sentence['content'], 'utf-8');
    
    return $length > 10;
}

// 使用自定义过滤方法进行过滤
$sentences = array_filter($sentences, 'customFilter');

// 输出过滤后的结果
foreach ($sentences as $sentence) {
    echo $sentence['content'] . "
";
}

Dalam contoh ini, fungsi CustomFilter ialah kaedah penapisan tersuai yang kami takrifkan untuk menentukan sama ada panjang ayat lebih daripada 10. Fungsi array_filter akan menggunakan kaedah penapisan tersuai ini untuk menapis. Akhir sekali, kami menggunakan gelung foreach untuk mengulangi hasil yang ditapis dan mengeluarkannya.

Ringkasnya, kami menyambung ke Baidu Wenxin Yiyan API untuk mendapatkan jenis ayat tertentu, dan melaksanakan fungsi pengisihan dan penapisan tersuai. Dengan mengubah suai parameter dalam kod, anda boleh mendapatkan pelbagai jenis ayat secara fleksibel dan mengisih serta menapisnya mengikut keperluan anda. Saya harap artikel ini telah memberikan sedikit bantuan untuk semua orang dalam menggunakan API Baidu Wenxinyiyan dalam pembangunan PHP.

Atas ialah kandungan terperinci PHP menyambung ke API Baidu Wenxin Yiyan untuk mendapatkan kaedah pengisihan dan penapisan tersuai 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