
    _i                     F    S SK r S SKrS SKrS SKrS SKrS SKrSSKJr  S rg)    N   )require_genai_engine_pluginc           
         [        S5        [        R                  " U UUUU[        U5      S.5      n[        R
                  " S[        U5       S35      n[        R                  " SSSS9 nUR                  U5        UR                  n	S S S 5         [        R                  " [        R                  W	/5        [        R                   " U	5        g ! , (       d  f       NL= f! [        R                   " W	5        f = f)	Nzsglang-server)hostport
model_name	model_dirconfigchat_template_patha  
    import json
    import os

    from paddlex.inference.genai.configs.utils import (
        backend_config_to_args,
        set_config_defaults,
        update_backend_config,
    )
    from paddlex.inference.genai.models import get_model_components
    from sglang.srt.configs.model_config import multimodal_model_archs
    from sglang.srt.entrypoints.http_server import launch_server
    from sglang.srt.managers.multimodal_processor import PROCESSOR_MAPPING
    from sglang.srt.models.registry import ModelRegistry
    from sglang.srt.server_args import prepare_server_args
    from sglang.srt.utils import kill_process_tree

    data = json.loads(a]  )

    host = data["host"]
    port = data["port"]
    model_name = data["model_name"]
    model_dir = data["model_dir"]
    config = data["config"]
    chat_template_path = data["chat_template_path"]

    network_class, processor_class = get_model_components(model_name, "sglang")

    ModelRegistry.models[network_class.__name__] = network_class
    multimodal_model_archs.append(network_class.__name__)
    PROCESSOR_MAPPING[network_class] = processor_class

    set_config_defaults(config, {"served-model-name": model_name})

    if chat_template_path:
        set_config_defaults(config, {"chat-template": chat_template_path})

    set_config_defaults(config, {"enable-metrics": True})

    update_backend_config(
        config,
        {
            "model-path": model_dir,
            "host": host,
            "port": port,
        },
    )

    if __name__ == "__main__":
        args = backend_config_to_args(config)

        server_args = prepare_server_args(args)

        try:
            launch_server(server_args)
        finally:
            kill_process_tree(os.getpid(), include_parent=False)
    wz.pyF)suffixdelete)r   jsondumpsstrtextwrapdedentreprtempfileNamedTemporaryFilewritename
subprocess
check_callsys
executableosunlink)
r   r   r   r	   r
   r   datacodefscript_paths
             c/var/www/html/land-ocr/venv/lib/python3.13/site-packages/paddlex/inference/genai/backends/sglang.pyrun_sglang_serverr$      s    0::$""%&8"9	
	D ??" Dzl (##9	;Dz 
	$	$Su	E	ff 
Fs~~{;<
		+ 
F	E 			+s   +C&C  
C C8)	r   r   r   r   r   r   
utils.depsr   r$        r#   <module>r(      s"     	  
   6Sr'   