diff --git a/pilot/model/cluster/controller/controller.py b/pilot/model/cluster/controller/controller.py index 826ffef03..1ec3965dc 100644 --- a/pilot/model/cluster/controller/controller.py +++ b/pilot/model/cluster/controller/controller.py @@ -185,7 +185,7 @@ def run_model_controller(): setup_logging( "pilot", logging_level=controller_params.log_level, - logger_filename="dbgpt_model_controller.log", + logger_filename=controller_params.log_file, ) initialize_controller(host=controller_params.host, port=controller_params.port) diff --git a/pilot/model/cluster/worker/manager.py b/pilot/model/cluster/worker/manager.py index 815f07bf2..cc5ef97d6 100644 --- a/pilot/model/cluster/worker/manager.py +++ b/pilot/model/cluster/worker/manager.py @@ -1006,7 +1006,7 @@ def run_worker_manager( setup_logging( "pilot", logging_level=worker_params.log_level, - logger_filename="dbgpt_model_worker_manager.log", + logger_filename=worker_params.log_file, ) embedded_mod = True @@ -1019,7 +1019,7 @@ def run_worker_manager( system_app = SystemApp(app) initialize_tracer( system_app, - os.path.join(LOGDIR, "dbgpt_model_worker_manager_tracer.jsonl"), + os.path.join(LOGDIR, worker_params.tracer_file), root_operation_name="DB-GPT-WorkerManager-Entry", ) diff --git a/pilot/model/parameter.py b/pilot/model/parameter.py index 0ad048c24..ba0000435 100644 --- a/pilot/model/parameter.py +++ b/pilot/model/parameter.py @@ -46,6 +46,18 @@ class ModelControllerParameters(BaseParameters): ], }, ) + log_file: Optional[str] = field( + default="dbgpt_model_controller.log", + metadata={ + "help": "The filename to store log", + }, + ) + tracer_file: Optional[str] = field( + default="dbgpt_model_controller_tracer.jsonl", + metadata={ + "help": "The filename to store tracer span records", + }, + ) @dataclass @@ -122,6 +134,18 @@ class ModelWorkerParameters(BaseModelParameters): ], }, ) + log_file: Optional[str] = field( + default="dbgpt_model_worker_manager.log", + metadata={ + "help": "The filename to store log", + }, + ) + tracer_file: Optional[str] = field( + default="dbgpt_model_worker_manager_tracer.jsonl", + metadata={ + "help": "The filename to store tracer span records", + }, + ) @dataclass diff --git a/pilot/server/base.py b/pilot/server/base.py index 3b2d7010b..d34b14b28 100644 --- a/pilot/server/base.py +++ b/pilot/server/base.py @@ -95,6 +95,19 @@ class WebWerverParameters(BaseParameters): daemon: Optional[bool] = field( default=False, metadata={"help": "Run Webserver in background"} ) + controller_addr: Optional[str] = field( + default=None, + metadata={ + "help": "The Model controller address to connect. If None, read model controller address from environment key `MODEL_SERVER`." + }, + ) + model_name: str = field( + default=None, + metadata={ + "help": "The default model name to use. If None, read model name from environment key `LLM_MODEL`.", + "tags": "fixed", + }, + ) share: Optional[bool] = field( default=False, metadata={ @@ -123,3 +136,15 @@ class WebWerverParameters(BaseParameters): }, ) light: Optional[bool] = field(default=False, metadata={"help": "enable light mode"}) + log_file: Optional[str] = field( + default="dbgpt_webserver.log", + metadata={ + "help": "The filename to store log", + }, + ) + tracer_file: Optional[str] = field( + default="dbgpt_webserver_tracer.jsonl", + metadata={ + "help": "The filename to store tracer span records", + }, + ) diff --git a/pilot/server/dbgpt_server.py b/pilot/server/dbgpt_server.py index 2b35eaf10..6762fd32a 100644 --- a/pilot/server/dbgpt_server.py +++ b/pilot/server/dbgpt_server.py @@ -119,7 +119,7 @@ def initialize_app(param: WebWerverParameters = None, args: List[str] = None): if not param.log_level: param.log_level = _get_logging_level() setup_logging( - "pilot", logging_level=param.log_level, logger_filename="dbgpt_webserver.log" + "pilot", logging_level=param.log_level, logger_filename=param.log_file ) # Before start system_app.before_start() @@ -133,14 +133,16 @@ def initialize_app(param: WebWerverParameters = None, args: List[str] = None): model_start_listener = _create_model_start_listener(system_app) initialize_components(param, system_app, embedding_model_name, embedding_model_path) - model_path = LLM_MODEL_CONFIG.get(CFG.LLM_MODEL) + model_name = param.model_name or CFG.LLM_MODEL + + model_path = LLM_MODEL_CONFIG.get(model_name) if not param.light: print("Model Unified Deployment Mode!") if not param.remote_embedding: embedding_model_name, embedding_model_path = None, None initialize_worker_manager_in_client( app=app, - model_name=CFG.LLM_MODEL, + model_name=model_name, model_path=model_path, local_port=param.port, embedding_model_name=embedding_model_name, @@ -152,12 +154,13 @@ def initialize_app(param: WebWerverParameters = None, args: List[str] = None): CFG.NEW_SERVER_MODE = True else: # MODEL_SERVER is controller address now + controller_addr = param.controller_addr or CFG.MODEL_SERVER initialize_worker_manager_in_client( app=app, - model_name=CFG.LLM_MODEL, + model_name=model_name, model_path=model_path, run_locally=False, - controller_addr=CFG.MODEL_SERVER, + controller_addr=controller_addr, local_port=param.port, start_listener=model_start_listener, system_app=system_app, @@ -182,7 +185,7 @@ def run_uvicorn(param: WebWerverParameters): def run_webserver(param: WebWerverParameters = None): if not param: param = _get_webserver_params() - initialize_tracer(system_app, os.path.join(LOGDIR, "dbgpt_webserver_tracer.jsonl")) + initialize_tracer(system_app, os.path.join(LOGDIR, param.tracer_file)) with root_tracer.start_span( "run_webserver",