Wenxin Yiyan သည် Baidu မှထောက်ပံ့ပေးသောတရုတ်ဝါကျ API သည်နေ့စဉ်တောင်းဆိုမှုအကန့်အသတ်ဖြင့်အကြိမ်ပေါင်း 1000 ကျော်ဖြင့်ထောက်ပံ့ပေးသည်။ မည်သို့ပင်ဆိုစေကာမူမြင့်မားသောကြိမ်နှုန်းခေါ်ဆိုမှုများအတွင်းဤအကန့်အသတ်ဖြင့်ဖြတ်သန်းသွားသော applications များစွာရှိသေးသည်။
မကြာခဏဆိုသလိုအရေအတွက်အမြောက်အများကိုအကြိမ်ကြိမ် 0 န်ဆောင်မှုသည် 0 န်ဆောင်မှုကိုမရရှိနိုင်ပါ။ ထို့ကြောင့်ဖွံ့ဖြိုးတိုးတက်စဉ်ကာလအတွင်းတောင်းဆိုမှုများနှင့်အသွားအလာအရေအတွက်ကိုကျိုးကြောင်းဆီလျော်စွာကန့်သတ်ခြင်းသည် API ၏ရရှိမှုနှင့်တည်ငြိမ်မှုကိုထိရောက်စွာထိရောက်စွာထိရောက်စွာထိရောက်စွာထိရောက်စွာထိရောက်စွာထိရောက်စွာထိရောက်စွာစစ်ဆေးနိုင်သည်။
PHP တွင်ကျွန်ုပ်တို့သည် Redis မှတဆင့်အသုံးပြုသူတစ်ခုတည်း၏ကြိမ်နှုန်းကိုတစ်ရက်လျှင်တောင်းဆိုမှုအရေအတွက်ကိုကန့်သတ်ရန်တောင်းဆိုခြင်းနှင့်တရားစီရင်နိုင်သည်။ ဤတွင်ပုံမှန်ကုဒ်ဥပမာတစ်ခုမှာ -
// ဆက်Redisဆာဆာ
$redis = new Redis();
$redis->connect('127.0.0.1', 6379);
// အသုံးပြုသူများကိုရယူပါIPနှင့်လက်ရှိနေ့စွဲ
$ip = $_SERVER['REMOTE_ADDR'];
$date = date("Y-m-d");
// တည်ဆောက်Redisအဓိကနာမည်
$key = $ip . '-' . $date;
$count = $redis->get($key);
if (!$count) {
// ပထမတောင်းဆိုချက်,အရေအတွက်ကို အစပြု. သက်တမ်းကုန်ဆုံးချိန်ကိုသတ်မှတ်ပါ
$redis->set($key, 1);
$redis->expire($key, 86400);
} else {
if ($count >= 1000) {
echo 'တောင်းဆိုမှုများအရေအတွက်ကျော်လွန်';
exit;
}
// အရေအတွက်တိုးမြှင့်
$redis->incr($key);
$redis->expire($key, 86400);
}
// Wen Xin ကိုစကားလုံးတစ်လုံးတောင်းပါAPI
$url = 'https://v1.alapi.cn/api/shici?format=text';
$response = file_get_contents($url);
echo $response;
လျှောက်လွှာအလွှာရှိလက်ရှိကန့်သတ်ချက်အပြင် Nginx သည်ကာလတိုမြင့်မားသောတစ်ပြိုင်နက်တည်းကဖိအားကိုရှောင်ရှားရန် Nginx သည် 0 န်ဆောင်မှုပေးသည့်နှုန်းကိုကန့်သတ်နိုင်သည်။ ဥပမာများမှာအောက်ပါအတိုင်းဖြစ်သည် -
http {
limit_req_zone $binary_remote_addr zone=one:10m rate=1r/s;
}
server {
...
location / {
limit_req zone=one burst=5 nodelay;
proxy_pass ...;
}
}
အထက်ပါ configuration ကိုအောက်ပါအတိုင်းဖြစ်သည် -
Traffic Control အတွက်လက်ရှိကန့်သတ်ခြင်းနှင့် Nginx အတွက် Redis နှင့်ပေါင်းစပ်ထားသော PHP သည် API ၏တည်ငြိမ်သောလည်ပတ်မှုကိုသေချာစေရန်ထိရောက်သောနည်းလမ်းဖြစ်သည်။ ဤဆောင်းပါးသည် Baidu Wenxin Yiyan API ကိုဥပမာတစ်ခုအဖြစ်ယူပြီးလက်တွေ့အကောင်အထည်ဖော်မှုကုဒ်များနှင့်ပြင်ဆင်မှုဆိုင်ရာအကြံပြုချက်များကိုပေးသည်။ အလားတူအလေ့အကျင့်များကိုကြိမ်နှုန်းမြင့်မားသောခေါ်ဆိုမှုများအတွက်အခြားပွင့်လင်းသော interfaces များနှင့်လည်းသက်ဆိုင်ပြီး developer များကစီးပွားရေးလိုအပ်ချက်အလိုက်လက်ရှိကန့်သတ်မဟာဗျူဟာများကိုဖြည့်ဆည်းပေးသင့်သည်။