Spaces:
Sleeping
Sleeping
Commit
·
298d93a
1
Parent(s):
4e94e65
最終修復
Browse files
app.py
CHANGED
|
@@ -25,11 +25,12 @@ from openai import OpenAI
|
|
| 25 |
from app_config import get_config
|
| 26 |
|
| 27 |
# 選擇 SocketIO 執行模式(優先使用 eventlet)
|
| 28 |
-
ASYNC_MODE = '
|
| 29 |
try:
|
| 30 |
import eventlet
|
| 31 |
-
eventlet
|
| 32 |
-
|
|
|
|
| 33 |
except Exception:
|
| 34 |
ASYNC_MODE = 'threading'
|
| 35 |
|
|
@@ -41,6 +42,8 @@ except Exception:
|
|
| 41 |
os.environ['MPLCONFIGDIR'] = '/tmp/matplotlib'
|
| 42 |
os.environ['TF_CPP_MIN_LOG_LEVEL'] = '2' # 減少TensorFlow日誌
|
| 43 |
os.environ['MEDIAPIPE_DISABLE_GPU'] = '1' # 禁用GPU避免警告
|
|
|
|
|
|
|
| 44 |
|
| 45 |
# 環境檢測
|
| 46 |
IS_HUGGINGFACE = os.environ.get('SPACE_ID') is not None
|
|
@@ -272,7 +275,11 @@ class VideoSignLanguageRecognizer:
|
|
| 272 |
|
| 273 |
# GPT整合
|
| 274 |
try:
|
| 275 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
| 276 |
except Exception as e:
|
| 277 |
print(f"初始化OpenAI客户端出錯: {e}")
|
| 278 |
self.openai_client = None
|
|
@@ -526,7 +533,11 @@ class SignLanguageRecognizer:
|
|
| 526 |
|
| 527 |
# GPT整合
|
| 528 |
try:
|
| 529 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
| 530 |
except Exception as e:
|
| 531 |
print(f"初始化OpenAI客户端出錯: {e}")
|
| 532 |
self.openai_client = None
|
|
|
|
| 25 |
from app_config import get_config
|
| 26 |
|
| 27 |
# 選擇 SocketIO 執行模式(優先使用 eventlet)
|
| 28 |
+
ASYNC_MODE = os.environ.get('SOCKETIO_ASYNC_MODE', 'auto')
|
| 29 |
try:
|
| 30 |
import eventlet
|
| 31 |
+
if ASYNC_MODE in ('auto', 'eventlet'):
|
| 32 |
+
eventlet.monkey_patch()
|
| 33 |
+
ASYNC_MODE = 'eventlet'
|
| 34 |
except Exception:
|
| 35 |
ASYNC_MODE = 'threading'
|
| 36 |
|
|
|
|
| 42 |
os.environ['MPLCONFIGDIR'] = '/tmp/matplotlib'
|
| 43 |
os.environ['TF_CPP_MIN_LOG_LEVEL'] = '2' # 減少TensorFlow日誌
|
| 44 |
os.environ['MEDIAPIPE_DISABLE_GPU'] = '1' # 禁用GPU避免警告
|
| 45 |
+
# 避免 eventlet greendns 造成外部連線(如 OpenAI)解析問題
|
| 46 |
+
os.environ.setdefault('EVENTLET_NO_GREENDNS', 'yes')
|
| 47 |
|
| 48 |
# 環境檢測
|
| 49 |
IS_HUGGINGFACE = os.environ.get('SPACE_ID') is not None
|
|
|
|
| 275 |
|
| 276 |
# GPT整合
|
| 277 |
try:
|
| 278 |
+
base_url = os.environ.get('OPENAI_BASE_URL')
|
| 279 |
+
if base_url:
|
| 280 |
+
self.openai_client = OpenAI(timeout=30.0, max_retries=5, base_url=base_url)
|
| 281 |
+
else:
|
| 282 |
+
self.openai_client = OpenAI(timeout=30.0, max_retries=5)
|
| 283 |
except Exception as e:
|
| 284 |
print(f"初始化OpenAI客户端出錯: {e}")
|
| 285 |
self.openai_client = None
|
|
|
|
| 533 |
|
| 534 |
# GPT整合
|
| 535 |
try:
|
| 536 |
+
base_url = os.environ.get('OPENAI_BASE_URL')
|
| 537 |
+
if base_url:
|
| 538 |
+
self.openai_client = OpenAI(timeout=30.0, max_retries=5, base_url=base_url)
|
| 539 |
+
else:
|
| 540 |
+
self.openai_client = OpenAI(timeout=30.0, max_retries=5)
|
| 541 |
except Exception as e:
|
| 542 |
print(f"初始化OpenAI客户端出錯: {e}")
|
| 543 |
self.openai_client = None
|