yzhuang/MixtureOfInputs
2
1import subprocess2import threading3import os4import time5import spaces6 7def setup_mixinputs():8 # Step 1: Run mixinputs setup9 subprocess.run(["mixinputs", "setup"], check=True)10 11def launch_vllm_server(beta=1.0):12 # Step 2: Set environment variables13 env = os.environ.copy()14 env["MIXINPUTS_BETA"] = str(beta)15 env["VLLM_USE_V1"] = "1"16 17 # Step 3: Launch vLLM with custom options18 cmd = [19 "vllm", "serve",20 "Qwen/Qwen3-4B",21 "--tensor-parallel-size", "1",22 "--enforce-eager",23 "--max-model-len", "4096",24 "--max-seq-len-to-capture", "4096",25 "--max-num-seqs", "36",26 "--host", "0.0.0.0",27 "--port", "8000",28 "--enable-reasoning",29 "--reasoning-parser", "deepseek_r1",30 "--api-key", "EMPTY"31 ]32 _server_process = subprocess.Popen(cmd, env=env)33 34 # # Wait for the process to complete or be terminated35 # _server_process.wait()36 37# Step 1: Setup38setup_mixinputs()39 40# Step 2: Launch vLLM server in background41threading.Thread(target=launch_vllm_server, daemon=True).start()42 