moevis commited on
Commit
098e8e5
·
1 Parent(s): 01ee73c

增强 vLLM 模式的导入处理,添加命令行参数支持以便在未安装 vLLM 时运行界面预览

Browse files
Files changed (1) hide show
  1. app.py +16 -5
app.py CHANGED
@@ -6,17 +6,30 @@ Gradio 多模态聊天界面:直接在 app.py 内部调用 vLLM.LLM 进行推
6
 
7
  import base64
8
  import os
 
9
  import threading
10
  import time
11
  from typing import Optional, Tuple
12
 
13
  import gradio as gr
14
 
 
 
 
 
 
15
  # 检查是否启用 vLLM 模式
16
  ENABLE_VLLM = os.getenv("ENABLE_VLLM", "true").lower() in ("true", "1", "yes")
17
 
18
  if ENABLE_VLLM:
19
- from vllm import LLM, SamplingParams
 
 
 
 
 
 
 
20
  else:
21
  LLM = None
22
  SamplingParams = None
@@ -389,10 +402,8 @@ if __name__ == "__main__":
389
 
390
  args = parser.parse_args()
391
 
392
- # 如果指定了 --no-vllm,覆盖环境变量
393
- if args.no_vllm:
394
- global ENABLE_VLLM
395
- ENABLE_VLLM = False
396
  print("[INFO] 已禁用 vLLM,运行在界面预览模式")
397
 
398
  _set_llm_args(
 
6
 
7
  import base64
8
  import os
9
+ import sys
10
  import threading
11
  import time
12
  from typing import Optional, Tuple
13
 
14
  import gradio as gr
15
 
16
+ # 检查命令行参数,在导入 vllm 之前确定是否启用
17
+ # 这样可以在没有安装 vllm 的情况下运行界面预览
18
+ if "--no-vllm" in sys.argv:
19
+ os.environ["ENABLE_VLLM"] = "false"
20
+
21
  # 检查是否启用 vLLM 模式
22
  ENABLE_VLLM = os.getenv("ENABLE_VLLM", "true").lower() in ("true", "1", "yes")
23
 
24
  if ENABLE_VLLM:
25
+ try:
26
+ from vllm import LLM, SamplingParams
27
+ except ImportError:
28
+ print("[WARNING] 无法导入 vllm,自动切换到界面预览模式")
29
+ print("[INFO] 如需使用 vLLM,请先安装: pip install vllm")
30
+ ENABLE_VLLM = False
31
+ LLM = None
32
+ SamplingParams = None
33
  else:
34
  LLM = None
35
  SamplingParams = None
 
402
 
403
  args = parser.parse_args()
404
 
405
+ # --no-vllm 参数已在文件开头处理,这里只是提示
406
+ if args.no_vllm and not ENABLE_VLLM:
 
 
407
  print("[INFO] 已禁用 vLLM,运行在界面预览模式")
408
 
409
  _set_llm_args(