mirror of
https://github.com/fawney19/Aether.git
synced 2026-10-08 02:17:46 +08:00
feat(routing): make routing profiles the sole scheduler policy source
Bootstrap an enabled system-default routing group from the legacy scheduler config keys on startup, resolve the default ordering config from that group before falling back to the legacy keys, and stop merging keep_priority_on_conversion with the legacy flag when a policy is resolved. Thread the policy-derived ordering config into candidate preselection so it no longer reads system config independently. Add per-API-format key priority overrides so a key serving several formats keeps independent ordering, matching the legacy global_priority_by_format semantics. Expose keep_priority_on_conversion in the routing profile editor and read the effective policy in the model routing preview, monitoring metrics and provider page badge.
This commit is contained in:
@@ -754,19 +754,28 @@ impl<'a> PoolKeyCursor<'a> {
|
||||
return None;
|
||||
}
|
||||
};
|
||||
let api_format = self.group.candidate.endpoint_api_format.as_str();
|
||||
rows.sort_by(|left, right| {
|
||||
let left_priority = self
|
||||
.routing_overlay
|
||||
.as_ref()
|
||||
.map_or(left.key_internal_priority, |overlay| {
|
||||
overlay.key_priority(&left.key_id, left.key_internal_priority)
|
||||
});
|
||||
let right_priority = self
|
||||
.routing_overlay
|
||||
.as_ref()
|
||||
.map_or(right.key_internal_priority, |overlay| {
|
||||
overlay.key_priority(&right.key_id, right.key_internal_priority)
|
||||
});
|
||||
let left_priority = self.routing_overlay.as_ref().map_or(
|
||||
left.key_internal_priority,
|
||||
|overlay| {
|
||||
overlay.key_priority_for_format(
|
||||
&left.key_id,
|
||||
api_format,
|
||||
left.key_internal_priority,
|
||||
)
|
||||
},
|
||||
);
|
||||
let right_priority = self.routing_overlay.as_ref().map_or(
|
||||
right.key_internal_priority,
|
||||
|overlay| {
|
||||
overlay.key_priority_for_format(
|
||||
&right.key_id,
|
||||
api_format,
|
||||
right.key_internal_priority,
|
||||
)
|
||||
},
|
||||
);
|
||||
left_priority
|
||||
.cmp(&right_priority)
|
||||
.then(left.key_id.cmp(&right.key_id))
|
||||
|
||||
Reference in New Issue
Block a user