Penguin-VL / inference /launch_gradio_demo.py
lkeab's picture
Sync Space app to tencent/Penguin-VL
0cb9ad5 verified
import sys
sys.path.append('.')
import argparse
import os
import subprocess
from threading import Thread
from inference.interface import PenguinVLQwen3GradioInterface
from inference.server import PenguinVLQwen3PlainClient
def launch_gradio_demo(model_path, server_port=16667, interface_port=33666, server_name="0.0.0.0", nproc=1, example_dir="./assets/inputs"):
server_thread = Thread(
target=lambda: subprocess.run(
[
sys.executable, "-m",
"inference.server.plain_server",
"--model-path", model_path,
"--nproc", str(nproc),
"--port", str(server_port),
]
)
)
server_thread.daemon = True
server_thread.start()
if example_dir is not None and not os.path.isdir(example_dir):
example_dir = None
model_client = PenguinVLQwen3PlainClient(port=server_port)
interface = PenguinVLQwen3GradioInterface(
model_client,
example_dir=example_dir,
server_name=server_name,
server_port=interface_port,
)
interface.launch()
def main():
parser = argparse.ArgumentParser()
parser.add_argument("--model-path", "--model_path", type=str, required=True)
parser.add_argument("--server-port", "--server_port", type=int, default=16667)
parser.add_argument("--interface-port", "--interface_port", type=int, default=33666)
parser.add_argument("--server-name", "--server_name", type=str, default="0.0.0.0")
parser.add_argument("--nproc", type=int, default=1)
parser.add_argument("--example-dir", "--example_dir", type=str, default="./assets/inputs")
args = parser.parse_args()
launch_gradio_demo(
model_path=args.model_path,
server_port=args.server_port,
interface_port=args.interface_port,
server_name=args.server_name,
nproc=args.nproc,
example_dir=args.example_dir,
)
if __name__ == "__main__":
main()