feat: add priority demotion controls
This commit is contained in:
@@ -19,6 +19,7 @@ import type {
|
||||
IntegrationPlatform,
|
||||
ModelCatalogResponse,
|
||||
ModelRateLimitStatus,
|
||||
PlatformDynamicPriorityUpdateRequest,
|
||||
PlatformModel,
|
||||
PricingRule,
|
||||
PricingRuleSet,
|
||||
@@ -79,6 +80,7 @@ import {
|
||||
updateAccessRule,
|
||||
updateGatewayUser,
|
||||
updatePlatform,
|
||||
updatePlatformDynamicPriority,
|
||||
updateTenant,
|
||||
updateUserGroup,
|
||||
} from './api';
|
||||
@@ -558,6 +560,38 @@ export function App() {
|
||||
}
|
||||
}
|
||||
|
||||
async function savePlatformDynamicPriority(platformId: string, input: PlatformDynamicPriorityUpdateRequest) {
|
||||
setCoreState('loading');
|
||||
setCoreMessage('');
|
||||
try {
|
||||
const state = await updatePlatformDynamicPriority(token, platformId, input);
|
||||
setPlatforms((current) => current.map((platform) => platform.id === platformId
|
||||
? {
|
||||
...platform,
|
||||
dynamicPriority: state.dynamicPriority,
|
||||
effectivePriority: state.effectivePriority,
|
||||
priority: state.priority,
|
||||
updatedAt: state.updatedAt,
|
||||
}
|
||||
: platform));
|
||||
setModelRateLimits((current) => current.map((status) => status.platformId === platformId
|
||||
? {
|
||||
...status,
|
||||
platformDynamicPriority: state.dynamicPriority,
|
||||
platformEffectivePriority: state.effectivePriority,
|
||||
platformPriority: state.priority,
|
||||
}
|
||||
: status));
|
||||
invalidateDataKeys('modelCatalog', 'modelRateLimits', 'platforms', 'playgroundModels');
|
||||
setCoreState('ready');
|
||||
setCoreMessage(input.reset ? '平台动态优先级已重置。' : '平台动态优先级已更新。');
|
||||
} catch (err) {
|
||||
setCoreState('error');
|
||||
setCoreMessage(err instanceof Error ? err.message : '更新平台动态优先级失败');
|
||||
throw err;
|
||||
}
|
||||
}
|
||||
|
||||
async function removePlatform(platformId: string) {
|
||||
setCoreState('loading');
|
||||
setCoreMessage('');
|
||||
@@ -994,6 +1028,7 @@ export function App() {
|
||||
onResetAllBaseModels={resetAllBaseModelsToDefault}
|
||||
onResetBaseModel={resetBaseModelToDefault}
|
||||
onSavePlatform={savePlatformWithModels}
|
||||
onSavePlatformDynamicPriority={savePlatformDynamicPriority}
|
||||
onSaveProvider={saveProvider}
|
||||
onSavePricingRuleSet={savePricingRuleSet}
|
||||
onSaveRunnerPolicy={saveRunnerPolicy}
|
||||
|
||||
Reference in New Issue
Block a user