Skip to content

Commit 87acffd

Browse files
committed
fix: add warning logs and named constants for max_retries validation
1 parent 156d290 commit 87acffd

1 file changed

Lines changed: 19 additions & 4 deletions

File tree

astrbot/core/provider/sources/openai_source.py

Lines changed: 19 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -495,14 +495,29 @@ def __init__(self, provider_config, provider_settings) -> None:
495495

496496
self.reasoning_key = "reasoning_content"
497497

498+
_MAX_RETRIES_DEFAULT = 10
499+
_MAX_RETRIES_UPPER_BOUND = 50
500+
498501
def _get_max_retries(self) -> int:
499-
"""获取并验证最大重试次数,确保为正整数。"""
500-
raw = self.provider_config.get("max_retries", 10)
502+
"""获取并验证最大重试次数,确保为 1 到 _MAX_RETRIES_UPPER_BOUND 之间的整数。"""
503+
raw = self.provider_config.get("max_retries", self._MAX_RETRIES_DEFAULT)
501504
try:
502505
value = int(raw)
503506
except (TypeError, ValueError):
504-
return 10
505-
return max(1, min(value, 50))
507+
logger.warning(
508+
"max_retries 配置无效 (%s),使用默认值 %d。",
509+
raw,
510+
self._MAX_RETRIES_DEFAULT,
511+
)
512+
return self._MAX_RETRIES_DEFAULT
513+
clamped = max(1, min(value, self._MAX_RETRIES_UPPER_BOUND))
514+
if clamped != value:
515+
logger.warning(
516+
"max_retries 配置值 %d 超出范围,已调整为 %d。",
517+
value,
518+
clamped,
519+
)
520+
return clamped
506521

507522
def _ollama_disable_thinking_enabled(self) -> bool:
508523
value = self.provider_config.get("ollama_disable_thinking", False)

0 commit comments

Comments
 (0)