58 lines
1.9 KiB
Python
58 lines
1.9 KiB
Python
"""Usage
|
||
调用默认模型:
|
||
python server/api_allinone.py
|
||
|
||
加载多个非默认模型:
|
||
python server/api_allinone.py --model-path-address model1@host1@port1 model2@host2@port2
|
||
|
||
多卡启动:
|
||
python server/api_allinone.py --model-path-address model@host@port --num-gpus 2 --gpus 0,1 --max-gpu-memory 10GiB
|
||
|
||
"""
|
||
import sys
|
||
import os
|
||
|
||
sys.path.append(os.path.dirname(__file__))
|
||
sys.path.append(os.path.dirname(os.path.dirname(__file__)))
|
||
|
||
from llm_api_stale import launch_all, parser, controller_args, worker_args, server_args
|
||
from composite_demo.api import create_app
|
||
import uvicorn
|
||
|
||
parser.add_argument("--api-host", type=str, default="0.0.0.0")
|
||
parser.add_argument("--api-port", type=int, default=7861)
|
||
parser.add_argument("--ssl_keyfile", type=str)
|
||
parser.add_argument("--ssl_certfile", type=str)
|
||
|
||
api_args = ["api-host", "api-port", "ssl_keyfile", "ssl_certfile"]
|
||
|
||
|
||
def run_api(host, port, **kwargs):
|
||
app = create_app()
|
||
if kwargs.get("ssl_keyfile") and kwargs.get("ssl_certfile"):
|
||
uvicorn.run(app,
|
||
host=host,
|
||
port=port,
|
||
ssl_keyfile=kwargs.get("ssl_keyfile"),
|
||
ssl_certfile=kwargs.get("ssl_certfile"),
|
||
)
|
||
else:
|
||
uvicorn.run(app, host=host, port=port)
|
||
|
||
|
||
if __name__ == "__main__":
|
||
print("Luanching api_allinone,it would take a while, please be patient...")
|
||
print("正在启动api_allinone,LLM服务启动约3-10分钟,请耐心等待...")
|
||
# 初始化消息
|
||
args = parser.parse_args()
|
||
args_dict = vars(args)
|
||
launch_all(args=args, controller_args=controller_args, worker_args=worker_args, server_args=server_args)
|
||
run_api(
|
||
host=args.api_host,
|
||
port=args.api_port,
|
||
ssl_keyfile=args.ssl_keyfile,
|
||
ssl_certfile=args.ssl_certfile,
|
||
)
|
||
print("Luanching api_allinone done.")
|
||
print("api_allinone启动完毕.")
|