|
|
@@ -54,7 +54,7 @@ def call_qwen_vlm(
|
|
54
|
54
|
API_URL,
|
|
55
|
55
|
headers={"x-api-key": _api_key(), "anthropic-version": "2023-06-01", "Content-Type": "application/json"},
|
|
56
|
56
|
json={"model": model, "max_tokens": max_tokens, "messages": messages},
|
|
57
|
|
- timeout=120,
|
|
|
57
|
+ timeout=300,
|
|
58
|
58
|
)
|
|
59
|
59
|
r.raise_for_status()
|
|
60
|
60
|
data = r.json()
|
|
|
@@ -76,6 +76,14 @@ def call_qwen_vlm(
|
|
76
|
76
|
continue
|
|
77
|
77
|
logger.warning("Qwen API: ошибка — %s", e)
|
|
78
|
78
|
return None, {}
|
|
|
79
|
+ except (requests.Timeout, requests.ConnectionError) as e:
|
|
|
80
|
+ if attempt < 3:
|
|
|
81
|
+ delay = 5 * attempt
|
|
|
82
|
+ logger.info("Qwen API: таймаут/соединение, ожидание %dс и повтор...", delay)
|
|
|
83
|
+ _time.sleep(delay)
|
|
|
84
|
+ continue
|
|
|
85
|
+ logger.warning("Qwen API: ошибка — %s", e)
|
|
|
86
|
+ return None, {}
|
|
79
|
87
|
except (requests.RequestException, KeyError, IndexError) as e:
|
|
80
|
88
|
logger.warning("Qwen API: ошибка — %s", e)
|
|
81
|
89
|
return None, {}
|