Spaces:
No application file
No application file
""" | |
Launch an OpenAI API server with multiple model workers. | |
""" | |
import os | |
import argparse | |
def launch_process(cmd): | |
os.popen(cmd) | |
if __name__ == "__main__": | |
parser = argparse.ArgumentParser() | |
parser.add_argument("--multimodal", action="store_true", default=False) | |
args = parser.parse_args() | |
launch_process("python3 -m fastchat.serve.controller") | |
launch_process("python3 -m fastchat.serve.openai_api_server") | |
if args.multimodal: | |
models = [ | |
("liuhaotian/llava-v1.5-7b", "sglang_worker"), | |
] | |
else: | |
models = [ | |
("lmsys/vicuna-7b-v1.5", "model_worker"), | |
("lmsys/fastchat-t5-3b-v1.0", "model_worker"), | |
("THUDM/chatglm-6b", "model_worker"), | |
("mosaicml/mpt-7b-chat", "model_worker"), | |
("meta-llama/Llama-2-7b-chat-hf", "vllm_worker"), | |
] | |
for i, (model_path, worker_name) in enumerate(models): | |
cmd = ( | |
f"CUDA_VISIBLE_DEVICES={i} python3 -m fastchat.serve.{worker_name} " | |
f"--model-path {model_path} --port {40000+i} " | |
f"--worker-address http://localhost:{40000+i} " | |
) | |
if "llava" in model_path.lower(): | |
cmd += f"--tokenizer-path llava-hf/llava-1.5-7b-hf" | |
if worker_name == "vllm_worker": | |
cmd += "--tokenizer hf-internal-testing/llama-tokenizer" | |
launch_process(cmd) | |
while True: | |
pass | |