fix: 修复 mypy 类型检查错误并升级到 Python 3.14

主要变更:
- 修复 1483 个 mypy 类型检查错误
- 添加缺失的类型注解 (Any, Callable, Session 等)
- 修复隐式 Optional 类型 (param: Type = None -> param: Type | None = None)
- 修复 __new__ 单例模式返回类型
- 添加 type: ignore 注释处理第三方库类型问题
- 更新 pyproject.toml 依赖到 Python 3.14 兼容版本
- 更新 mypy/black 配置为 Python 3.14
This commit is contained in:
fawney19
2026-01-30 14:30:57 +08:00
parent 7066166757
commit 5603c72f40
142 changed files with 2864 additions and 1853 deletions

View File

@@ -2,6 +2,8 @@
封装请求执行逻辑,包含并发控制与链路追踪。
"""
from __future__ import annotations
import time
from dataclasses import dataclass
from typing import Any
@@ -48,7 +50,7 @@ class ExecutionError(Exception):
class RequestExecutor:
def __init__(self, db: Session, concurrency_manager, adaptive_manager):
def __init__(self, db: Session, concurrency_manager: Any, adaptive_manager: Any) -> None:
self.db = db
self.concurrency_manager = concurrency_manager
self.adaptive_manager = adaptive_manager
@@ -56,11 +58,11 @@ class RequestExecutor:
async def execute(
self,
*,
candidate,
candidate: Any,
candidate_id: str,
candidate_index: int,
user_api_key,
request_func: Callable,
user_api_key: Any,
request_func: Callable[..., Any],
request_id: str | None,
api_format: str | APIFormat,
model_name: str,

View File

@@ -259,7 +259,7 @@ class RequestResult:
# 尝试从异常中提取 metadata
existing_metadata = getattr(exception, "request_metadata", None)
def get_meta_value(meta, key, default=None):
def get_meta_value(meta: Any, key: str, default: Any | None = None) -> Any:
"""从 metadata 中提取值,支持字典和对象两种形式"""
if meta is None:
return default
@@ -347,7 +347,7 @@ class StreamWithMetadata:
self.response_headers_container = response_headers_container
self._metadata_updated = False
def update_metadata_with_response_headers(self):
def update_metadata_with_response_headers(self) -> None:
"""使用实际的响应头更新元数据"""
if self.response_headers_container and "headers" in self.response_headers_container:
if not self._metadata_updated:
@@ -356,8 +356,8 @@ class StreamWithMetadata:
)
self._metadata_updated = True
def __aiter__(self):
def __aiter__(self) -> None:
return self.stream
async def __anext__(self):
async def __anext__(self) -> None:
return await self.stream.__anext__()