@@ -3,6 +3,7 @@ package setting
|
|||||||
import (
|
import (
|
||||||
"encoding/json"
|
"encoding/json"
|
||||||
"fmt"
|
"fmt"
|
||||||
|
"math"
|
||||||
"one-api/common"
|
"one-api/common"
|
||||||
"sync"
|
"sync"
|
||||||
)
|
)
|
||||||
@@ -58,6 +59,9 @@ func CheckModelRequestRateLimitGroup(jsonStr string) error {
|
|||||||
if limits[0] < 0 || limits[1] < 1 {
|
if limits[0] < 0 || limits[1] < 1 {
|
||||||
return fmt.Errorf("group %s has negative rate limit values: [%d, %d]", group, limits[0], limits[1])
|
return fmt.Errorf("group %s has negative rate limit values: [%d, %d]", group, limits[0], limits[1])
|
||||||
}
|
}
|
||||||
|
if limits[0] > math.MaxInt32 || limits[1] > math.MaxInt32 {
|
||||||
|
return fmt.Errorf("group %s [%d, %d] has max rate limits value 2147483647", group, limits[0], limits[1])
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return nil
|
return nil
|
||||||
|
|||||||
@@ -147,6 +147,7 @@ export default function RequestRateLimit(props) {
|
|||||||
label={t('用户每周期最多请求次数')}
|
label={t('用户每周期最多请求次数')}
|
||||||
step={1}
|
step={1}
|
||||||
min={0}
|
min={0}
|
||||||
|
max={100000}
|
||||||
suffix={t('次')}
|
suffix={t('次')}
|
||||||
extraText={t('包括失败请求的次数,0代表不限制')}
|
extraText={t('包括失败请求的次数,0代表不限制')}
|
||||||
field={'ModelRequestRateLimitCount'}
|
field={'ModelRequestRateLimitCount'}
|
||||||
@@ -163,6 +164,7 @@ export default function RequestRateLimit(props) {
|
|||||||
label={t('用户每周期最多请求完成次数')}
|
label={t('用户每周期最多请求完成次数')}
|
||||||
step={1}
|
step={1}
|
||||||
min={1}
|
min={1}
|
||||||
|
max={100000}
|
||||||
suffix={t('次')}
|
suffix={t('次')}
|
||||||
extraText={t('只包括请求成功的次数')}
|
extraText={t('只包括请求成功的次数')}
|
||||||
field={'ModelRequestRateLimitSuccessCount'}
|
field={'ModelRequestRateLimitSuccessCount'}
|
||||||
@@ -199,6 +201,7 @@ export default function RequestRateLimit(props) {
|
|||||||
<li>{t('使用 JSON 对象格式,格式为:{"组名": [最多请求次数, 最多请求完成次数]}')}</li>
|
<li>{t('使用 JSON 对象格式,格式为:{"组名": [最多请求次数, 最多请求完成次数]}')}</li>
|
||||||
<li>{t('示例:{"default": [200, 100], "vip": [0, 1000]}。')}</li>
|
<li>{t('示例:{"default": [200, 100], "vip": [0, 1000]}。')}</li>
|
||||||
<li>{t('[最多请求次数]必须大于等于0,[最多请求完成次数]必须大于等于1。')}</li>
|
<li>{t('[最多请求次数]必须大于等于0,[最多请求完成次数]必须大于等于1。')}</li>
|
||||||
|
<li>{t('[最多请求次数]和[最多请求完成次数]的最大值为2147483647。')}</li>
|
||||||
<li>{t('分组速率配置优先级高于全局速率限制。')}</li>
|
<li>{t('分组速率配置优先级高于全局速率限制。')}</li>
|
||||||
<li>{t('限制周期统一使用上方配置的“限制周期”值。')}</li>
|
<li>{t('限制周期统一使用上方配置的“限制周期”值。')}</li>
|
||||||
</ul>
|
</ul>
|
||||||
|
|||||||
Reference in New Issue
Block a user