Wrap IPv6 addresses in gRPC, bench_serving, and log messages (#21236)

Co-authored-by: hnyls2002 <lsyincs@gmail.com>
Co-authored-by: Liangsheng Yin <hnyls2002@gmail.com>
This commit is contained in:
psaab
2026-03-29 00:36:31 -07:00
committed by GitHub
co-authored by hnyls2002 Liangsheng Yin
parent 18074e25dc
commit d2fa8d67ba
7 changed files with 38 additions and 22 deletions
+17 -14
View File
@@ -44,6 +44,7 @@ from sglang.benchmark.utils import (
remove_prefix,
set_ulimit,
)
from sglang.srt.utils.network import NetworkAddress
_ROUTING_KEY_HEADER = "X-SMG-Routing-Key"
@@ -1726,10 +1727,16 @@ def run_benchmark(args_: argparse.Namespace):
"truss": 8080,
}.get(args.backend, 30000)
# Build base URL with proper IPv6 bracket wrapping (only when base_url is not provided)
if not args.base_url:
_na = NetworkAddress(args.host, args.port)
_host_base = _na.to_url()
else:
_na = None
_host_base = None
model_url = (
f"{args.base_url}/v1/models"
if args.base_url
else f"http://{args.host}:{args.port}/v1/models"
f"{args.base_url}/v1/models" if args.base_url else f"{_host_base}/v1/models"
)
if args.backend == "sglang-embedding":
@@ -1740,43 +1747,39 @@ def run_benchmark(args_: argparse.Namespace):
)
elif args.backend in ["sglang", "sglang-native"]:
api_url = (
f"{args.base_url}/generate"
if args.base_url
else f"http://{args.host}:{args.port}/generate"
f"{args.base_url}/generate" if args.base_url else f"{_host_base}/generate"
)
elif args.backend in ["sglang-oai", "vllm", "lmdeploy"]:
api_url = (
f"{args.base_url}/v1/completions"
if args.base_url
else f"http://{args.host}:{args.port}/v1/completions"
else f"{_host_base}/v1/completions"
)
elif args.backend in ["sglang-oai-chat", "vllm-chat", "lmdeploy-chat"]:
api_url = (
f"{args.base_url}/v1/chat/completions"
if args.base_url
else f"http://{args.host}:{args.port}/v1/chat/completions"
else f"{_host_base}/v1/chat/completions"
)
elif args.backend == "trt":
api_url = (
f"{args.base_url}/v2/models/ensemble/generate_stream"
if args.base_url
else f"http://{args.host}:{args.port}/v2/models/ensemble/generate_stream"
else f"{_host_base}/v2/models/ensemble/generate_stream"
)
if args.model is None:
print("Please provide a model using `--model` when using `trt` backend.")
sys.exit(1)
elif args.backend == "gserver":
api_url = args.base_url if args.base_url else f"{args.host}:{args.port}"
api_url = args.base_url if args.base_url else _na.to_host_port_str()
args.model = args.model or "default"
elif args.backend == "truss":
api_url = (
f"{args.base_url}/v1/models/model:predict"
if args.base_url
else f"http://{args.host}:{args.port}/v1/models/model:predict"
else f"{_host_base}/v1/models/model:predict"
)
base_url = (
f"http://{args.host}:{args.port}" if args.base_url is None else args.base_url
)
base_url = _host_base if args.base_url is None else args.base_url
# Wait for server to be ready
if args.ready_check_timeout_sec > 0: