4242from .httpserver .manager import HttpServerManager
4343from .visualserver .manager import VisualManager
4444from .httpserver_for_pd_master .manager import HttpServerManagerForPDMaster
45- from .httpserver_for_visual_only .manager import HttpServerManagerForVisualOnly
4645from .api_lightllm import lightllm_get_score , lightllm_get_image_embedding
4746from lightllm .utils .envs_utils import get_env_start_args , get_lightllm_websocket_max_message_size
4847from lightllm .utils .log_utils import init_logger
@@ -70,7 +69,7 @@ class G_Objs:
7069 args : object = None
7170 g_generate_func : Callable = None
7271 g_generate_stream_func : Callable = None
73- httpserver_manager : Union [HttpServerManager , HttpServerManagerForPDMaster , HttpServerManagerForVisualOnly ] = None
72+ httpserver_manager : Union [HttpServerManager , HttpServerManagerForPDMaster , VisualManager ] = None
7473 visual_manager : VisualManager = None
7574 shared_token_load : TokenLoad = None
7675
@@ -94,11 +93,12 @@ def set_args(self, args):
9493 )
9594 elif args .run_mode == "visual_only" :
9695 self .metric_client = MetricClient (args .metric_port )
97- self .httpserver_manager = HttpServerManagerForVisualOnly (
96+ self .httpserver_manager = VisualManager (
9897 args ,
99- cache_port = args . cache_port ,
98+ next_module_port = None ,
10099 visual_port = args .visual_port ,
101- metric_port = args .metric_port ,
100+ cache_port = None ,
101+ visual_model_rpc_ports = args .visual_model_rpc_ports ,
102102 )
103103 elif args .run_mode == "llm_only" :
104104 init_tokenizer (args ) # for openai api
@@ -372,6 +372,10 @@ async def startup_event():
372372 logger .info ("server start up" )
373373 loop = asyncio .get_event_loop ()
374374 g_objs .set_args (get_env_start_args ())
375- loop .create_task (g_objs .httpserver_manager .handle_loop ())
375+ if g_objs .args .run_mode == "visual_only" :
376+ await g_objs .httpserver_manager .wait_to_model_ready ()
377+ loop .create_task (g_objs .httpserver_manager .loop_for_fwd_visual_only ())
378+ else :
379+ loop .create_task (g_objs .httpserver_manager .handle_loop ())
376380 logger .info (f"server start up ok, loop use is { asyncio .get_event_loop ()} " )
377381 return
0 commit comments