mirror of
https://github.com/fawney19/Aether.git
synced 2026-09-02 01:10:23 +08:00
refactor: 用 EndpointFetchConfig 纯数据类替代 ORM 对象传递,统一上游模型缓存管理
- 引入 EndpointFetchConfig dataclass 替代直接传递 ProviderEndpoint ORM 对象, 避免 DB session 关闭后 DetachedInstanceError - 新增 build_format_to_config() 统一构建 api_format -> EndpointFetchConfig 映射 - KeyAllowedModelsDialog 改用 useUpstreamModelsCache composable 管理上游模型获取 - useUpstreamModelsCache 增加 error 字段透传部分格式获取失败的 warning - 删除废弃的 queryProviderUpstreamModels API 函数 - ProviderCandidate 添加 __lt__ 方法支持排序比较
This commit is contained in:
@@ -28,6 +28,16 @@ class ProviderCandidate:
|
||||
if self.metadata is None:
|
||||
self.metadata = {}
|
||||
|
||||
def __lt__(self, other: object) -> bool:
|
||||
if not isinstance(other, ProviderCandidate):
|
||||
return NotImplemented
|
||||
# 优先级数字越大越优先,权重越大越优先
|
||||
return (-self.priority, -self.weight, str(getattr(self.provider, "id", ""))) < (
|
||||
-other.priority,
|
||||
-other.weight,
|
||||
str(getattr(other.provider, "id", "")),
|
||||
)
|
||||
|
||||
|
||||
@dataclass
|
||||
class SelectionResult:
|
||||
|
||||
Reference in New Issue
Block a user