make webui started at last

This commit is contained in:
liunux4odoo 2023-08-17 14:22:19 +08:00
parent 7dfc337bfa
commit 6c9e3ddc21
1 changed files with 17 additions and 3 deletions

View File

@ -230,10 +230,16 @@ def run_api_server(q: Queue, run_seq: int = 4):
uvicorn.run(app, host=host, port=port) uvicorn.run(app, host=host, port=port)
def run_webui(): def run_webui(q: Queue, run_seq: int = 5):
from configs.model_config import logger
host = WEBUI_SERVER["host"] host = WEBUI_SERVER["host"]
port = WEBUI_SERVER["port"] port = WEBUI_SERVER["port"]
while True:
no = q.get()
if no != run_seq - 1:
q.put(no)
else:
break
q.put(run_seq)
p = subprocess.Popen(["streamlit", "run", "webui.py", p = subprocess.Popen(["streamlit", "run", "webui.py",
"--server.address", host, "--server.address", host,
"--server.port", str(port)]) "--server.port", str(port)])
@ -247,18 +253,21 @@ def parse_args() -> argparse.ArgumentParser:
"--all", "--all",
action="store_true", action="store_true",
help="run fastchat's controller/model_worker/openai_api servers, run api.py and webui.py", help="run fastchat's controller/model_worker/openai_api servers, run api.py and webui.py",
dest="all",
) )
parser.add_argument( parser.add_argument(
"-o", "-o",
"--openai-api", "--openai-api",
action="store_true", action="store_true",
help="run fastchat controller/openai_api servers", help="run fastchat controller/openai_api servers",
dest="openai_api",
) )
parser.add_argument( parser.add_argument(
"-m", "-m",
"--model-worker", "--model-worker",
action="store_true", action="store_true",
help="run fastchat model_worker server with specified model name. specify --model-name if not using default LLM_MODEL", help="run fastchat model_worker server with specified model name. specify --model-name if not using default LLM_MODEL",
dest="model_worker",
) )
parser.add_argument( parser.add_argument(
"-n" "-n"
@ -266,23 +275,27 @@ def parse_args() -> argparse.ArgumentParser:
type=str, type=str,
default=LLM_MODEL, default=LLM_MODEL,
help="specify model name for model worker.", help="specify model name for model worker.",
dest="model_name",
) )
parser.add_argument( parser.add_argument(
"-c" "-c"
"--controller", "--controller",
type=str, type=str,
help="specify controller address the worker is registered to. default is server_config.FSCHAT_CONTROLLER", help="specify controller address the worker is registered to. default is server_config.FSCHAT_CONTROLLER",
dest="controller_address",
) )
parser.add_argument( parser.add_argument(
"--api", "--api",
action="store_true", action="store_true",
help="run api.py server", help="run api.py server",
dest="api",
) )
parser.add_argument( parser.add_argument(
"-w", "-w",
"--webui", "--webui",
action="store_true", action="store_true",
help="run webui.py server", help="run webui.py server",
dest="webui",
) )
args = parser.parse_args() args = parser.parse_args()
return args return args
@ -326,7 +339,7 @@ if __name__ == "__main__":
process = Process( process = Process(
target=run_model_worker, target=run_model_worker,
name=f"model_worker({os.getpid()})", name=f"model_worker({os.getpid()})",
args=(args.model_name, queue, len(processes) + 1), args=(args.model_name, args.controller_address, queue, len(processes) + 1),
daemon=True, daemon=True,
) )
process.start() process.start()
@ -346,6 +359,7 @@ if __name__ == "__main__":
process = Process( process = Process(
target=run_webui, target=run_webui,
name=f"WEBUI Server{os.getpid()})", name=f"WEBUI Server{os.getpid()})",
args=(queue,),
daemon=True, daemon=True,
) )
process.start() process.start()