mirror of
https://github.com/xinnan-tech/xiaozhi-esp32-server.git
synced 2026-07-29 16:33:56 +08:00
refactor: 优化超时配置,响应社区反馈
- 工具调用超时改为可配置项 tool_call_timeout,默认30秒 - OpenAI 超时恢复可配置机制,支持细粒度配置和单一值 - TTS 超时保护统一添加到所有流式TTS实现 - 将 ActionResponse 导入移到文件顶部 - 修复超时配置边界情况处理
This commit is contained in:
@@ -17,12 +17,22 @@ class LLMProvider(LLMProviderBase):
|
||||
self.base_url = config.get("base_url")
|
||||
else:
|
||||
self.base_url = config.get("url")
|
||||
custom_timeout = httpx.Timeout(
|
||||
pool=2.0,
|
||||
connect=3.0,
|
||||
write=5.0,
|
||||
read=10.0
|
||||
)
|
||||
|
||||
timeout_config = config.get("timeout")
|
||||
if isinstance(timeout_config, dict):
|
||||
# 细粒度超时配置
|
||||
custom_timeout = httpx.Timeout(
|
||||
pool=timeout_config.get("pool", 2.0),
|
||||
connect=timeout_config.get("connect", 3.0),
|
||||
write=timeout_config.get("write", 5.0),
|
||||
read=timeout_config.get("read", 60.0)
|
||||
)
|
||||
elif isinstance(timeout_config, (int, float)) and timeout_config > 0:
|
||||
# 兼容旧的单一超时配置(整数或浮点数)
|
||||
custom_timeout = httpx.Timeout(timeout_config)
|
||||
else:
|
||||
# 未配置或配置无效,使用默认值
|
||||
custom_timeout = httpx.Timeout(300)
|
||||
|
||||
param_defaults = {
|
||||
"max_tokens": int,
|
||||
|
||||
Reference in New Issue
Block a user