ReTime / deployment /model_server /server_policy.py
mmmmmcyaaa's picture
Add Florence-Bridge code and handoff documentation
977b06e verified
Raw History Blame Contribute Delete
2.27 kB
# Copyright 2025 starVLA community. All rights reserved.
# Licensed under the MIT License, Version 1.0 (the "License");
# Implemented by [Jinhui YE / HKUST University] in [2025].
import logging
import socket
import argparse
from deployment.model_server.tools.websocket_policy_server import WebsocketPolicyServer
from deployment.model_server.policy_wrapper import PolicyServerWrapper
import os
def main(args) -> None:
# Example usage:
# policy = YourPolicyClass() # Replace with your actual policy class
# server = WebsocketPolicyServer(policy, host="localhost", port=10091)
# server.serve_forever()
policy = PolicyServerWrapper(
ckpt_path=args.ckpt_path,
device="cuda",
use_bf16=args.use_bf16,
)
hostname = socket.gethostname()
local_ip = socket.gethostbyname(hostname)
logging.info("Creating server (host: %s, ip: %s)", hostname, local_ip)
# start websocket server
server = WebsocketPolicyServer(
policy=policy,
host="0.0.0.0",
port=args.port,
idle_timeout=args.idle_timeout,
metadata={**policy.metadata, "policy_seed": args.seed},
)
logging.info("server running ...")
server.serve_forever()
def build_argparser():
parser = argparse.ArgumentParser()
parser.add_argument("--ckpt_path", type=str, default="Qwen/Qwen2.5-VL-3B-Instruct")
parser.add_argument("--port", type=int, default=10093)
parser.add_argument("--use_bf16", action="store_true")
parser.add_argument("--seed", type=int, default=0)
parser.add_argument("--idle_timeout" , type=int, default=1800, help="Idle timeout in seconds, -1 means never close")
return parser
def start_debugpy_once():
"""start debugpy once"""
import debugpy
if getattr(start_debugpy_once, "_started", False):
return
debugpy.listen(("0.0.0.0", 10095))
print("🔍 Waiting for VSCode attach on 0.0.0.0:10095 ...")
debugpy.wait_for_client()
start_debugpy_once._started = True
if __name__ == "__main__":
logging.basicConfig(level=logging.INFO, force=True)
parser = build_argparser()
args = parser.parse_args()
if os.getenv("DEBUG", False):
print("🔍 DEBUGPY is enabled")
start_debugpy_once()
main(args)