From 6c8ca7ab2573e503839514306493ddaa0a438cca Mon Sep 17 00:00:00 2001 From: infinitycat Date: Thu, 27 Nov 2025 13:03:57 +0800 Subject: [PATCH 1/2] =?UTF-8?q?feat:=20docker-compose.yml=E6=9B=B4?= =?UTF-8?q?=E6=96=B0webui=E6=89=80=E9=9C=80=E7=9A=84adapter=E9=85=8D?= =?UTF-8?q?=E7=BD=AE=E6=96=87=E4=BB=B6=E6=98=A0=E5=B0=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docker-compose.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/docker-compose.yml b/docker-compose.yml index 29887250..1161e7d5 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -35,6 +35,7 @@ services: volumes: - ./docker-config/mmc/.env:/MaiMBot/.env # 持久化env配置文件 - ./docker-config/mmc:/MaiMBot/config # 持久化bot配置文件 + - ./docker-config/adapters:/MaiMBot/adapters-config # adapter配置文件夹映射 - ./data/MaiMBot/maibot_statistics.html:/MaiMBot/maibot_statistics.html #统计数据输出 - ./data/MaiMBot:/MaiMBot/data # 共享目录 - ./data/MaiMBot/plugins:/MaiMBot/plugins # 插件目录 From a58c54d378486970d2156f62cea22e33da722ebc Mon Sep 17 00:00:00 2001 From: Ronifue Date: Thu, 27 Nov 2025 18:43:19 +0800 Subject: [PATCH 2/2] =?UTF-8?q?feat:=20=E6=9B=B4=E5=8A=A0=E8=AF=A6?= =?UTF-8?q?=E7=BB=86=E7=9A=84=E6=A8=A1=E5=9E=8BAPI=E8=AF=B7=E6=B1=82?= =?UTF-8?q?=E9=94=99=E8=AF=AF=E6=8F=90=E7=A4=BA=E4=B8=8E=E6=B7=BB=E5=8A=A0?= =?UTF-8?q?=E9=81=87=E5=88=B0=E5=B8=B8=E8=A7=81=E7=9A=84=E9=A2=91=E7=B9=81?= =?UTF-8?q?API=E8=AF=B7=E6=B1=82=E8=B6=85=E6=97=B6=E7=9A=84=E5=BB=BA?= =?UTF-8?q?=E8=AE=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/llm_models/exceptions.py | 7 ++++--- src/llm_models/utils_model.py | 16 ++++++++++++++-- 2 files changed, 18 insertions(+), 5 deletions(-) diff --git a/src/llm_models/exceptions.py b/src/llm_models/exceptions.py index 65e49f74..25452e0b 100644 --- a/src/llm_models/exceptions.py +++ b/src/llm_models/exceptions.py @@ -18,11 +18,12 @@ error_code_mapping = { class NetworkConnectionError(Exception): """连接异常,常见于网络问题或服务器不可用""" - def __init__(self): - super().__init__() + def __init__(self, message: str | None = None): + super().__init__(message) + self.message = message def __str__(self): - return "连接异常,请检查网络连接状态或URL是否正确" + return self.message or "连接异常,请检查网络连接状态或URL是否正确" class ReqAbortException(Exception): diff --git a/src/llm_models/utils_model.py b/src/llm_models/utils_model.py index 1ed74e03..74bbffaf 100644 --- a/src/llm_models/utils_model.py +++ b/src/llm_models/utils_model.py @@ -333,12 +333,24 @@ class LLMRequest: except NetworkConnectionError as e: # 网络错误:单独记录并重试 + # 尝试从链式异常中获取原始错误信息以诊断具体原因 + original_error_info = "" + if e.__cause__: + original_error_type = type(e.__cause__).__name__ + original_error_msg = str(e.__cause__) + original_error_info = f"\n 底层异常类型: {original_error_type}\n 底层异常信息: {original_error_msg}" + retry_remain -= 1 if retry_remain <= 0: - logger.error(f"模型 '{model_info.name}' 在网络错误重试用尽后仍然失败。") + logger.error(f"模型 '{model_info.name}' 在网络错误重试用尽后仍然失败。{original_error_info}") raise ModelAttemptFailed(f"模型 '{model_info.name}' 重试耗尽", original_exception=e) from e - logger.warning(f"模型 '{model_info.name}' 遇到网络错误(可重试): {str(e)}。剩余重试次数: {retry_remain}") + logger.warning( + f"模型 '{model_info.name}' 遇到网络错误(可重试): {str(e)}{original_error_info}\n" + f" 常见原因: 如请求的API正常但APITimeoutError类型错误过多,请尝试调整模型配置中对应API Provider的timeout值\n" + f" 其它可能原因: 网络波动、DNS 故障、连接超时、防火墙限制或代理问题\n" + f" 剩余重试次数: {retry_remain}" + ) await asyncio.sleep(api_provider.retry_interval) except RespNotOkException as e: