[Cherry-pick] [0.11.0] pd proxy support ipv6 and fix proxy (#4242)
### What this PR does / why we need it? pd proxy support ipv6, mooncake connector check whether the IPv6 address is used and notify the user. --------- Signed-off-by: liziyu <liziyu16@huawei.com>
This commit is contained in:
@@ -88,6 +88,7 @@ import argparse
|
||||
import asyncio
|
||||
import functools
|
||||
import heapq
|
||||
import ipaddress
|
||||
import os
|
||||
import sys
|
||||
import threading
|
||||
@@ -116,6 +117,12 @@ class ServerState:
|
||||
self.host = host
|
||||
self.port = port
|
||||
self.url = f'http://{host}:{port}/v1'
|
||||
try:
|
||||
ip = ipaddress.ip_address(self.host)
|
||||
if isinstance(ip, ipaddress.IPv6Address):
|
||||
self.url = f'http://[{host}]:{port}/v1'
|
||||
except Exception:
|
||||
pass
|
||||
self.client = httpx.AsyncClient(timeout=None,
|
||||
base_url=self.url,
|
||||
limits=httpx.Limits(
|
||||
@@ -356,6 +363,9 @@ async def send_request_to_service(client: httpx.AsyncClient,
|
||||
req_data = req_data.copy()
|
||||
req_data["stream"] = False
|
||||
req_data["max_tokens"] = 1
|
||||
req_data["min_tokens"] = 1
|
||||
if "max_completion_tokens" in req_data:
|
||||
req_data["max_completion_tokens"] = 1
|
||||
if "stream_options" in req_data:
|
||||
del req_data["stream_options"]
|
||||
headers = {
|
||||
|
||||
@@ -88,6 +88,7 @@ import argparse
|
||||
import asyncio
|
||||
import functools
|
||||
import heapq
|
||||
import ipaddress
|
||||
import json
|
||||
import os
|
||||
import sys
|
||||
@@ -118,6 +119,12 @@ class ServerState:
|
||||
self.host = host
|
||||
self.port = port
|
||||
self.url = f'http://{host}:{port}/v1'
|
||||
try:
|
||||
ip = ipaddress.ip_address(self.host)
|
||||
if isinstance(ip, ipaddress.IPv6Address):
|
||||
self.url = f'http://[{host}]:{port}/v1'
|
||||
except Exception:
|
||||
pass
|
||||
self.client = httpx.AsyncClient(timeout=None,
|
||||
base_url=self.url,
|
||||
limits=httpx.Limits(
|
||||
@@ -366,6 +373,8 @@ async def send_request_to_service(client: httpx.AsyncClient,
|
||||
req_data["stream"] = False
|
||||
req_data["max_tokens"] = 1
|
||||
req_data["min_tokens"] = 1
|
||||
if "max_completion_tokens" in req_data:
|
||||
req_data["max_completion_tokens"] = 1
|
||||
if "stream_options" in req_data:
|
||||
del req_data["stream_options"]
|
||||
headers = {
|
||||
|
||||
Reference in New Issue
Block a user