tiny remove deprecated endpoint call (#13607)
This commit is contained in:
@@ -45,7 +45,7 @@ SGLang Model Gateway is a high-performance model-routing gateway for large-scale
|
||||
## Architecture
|
||||
|
||||
### Control Plane
|
||||
- **Worker Manager** discovers capabilities (`/get_server_info`, `/get_model_info`), tracks load, and registers/removes workers in the shared registry.
|
||||
- **Worker Manager** discovers capabilities (`/server_info`, `/model_info`), tracks load, and registers/removes workers in the shared registry.
|
||||
- **Job Queue** serializes add/remove requests and exposes status (`/workers/{url}`) so clients can track onboarding progress.
|
||||
- **Load Monitor** feeds cache-aware and power-of-two policies with live worker load statistics.
|
||||
- **Health Checker** continuously probes workers and updates readiness, circuit breaker state, and router metrics.
|
||||
|
||||
@@ -219,7 +219,7 @@ Please consult the documentation below and [server_args.py](https://github.com/s
|
||||
| Argument | Description | Defaults | Options |
|
||||
| --- | --- | --- | --- |
|
||||
| `--json-model-override-args` | A dictionary in JSON string format used to override default model configurations. | `{}` | Type: str |
|
||||
| `--preferred-sampling-params` | json-formatted sampling settings that will be returned in /get_model_info | `None` | Type: str |
|
||||
| `--preferred-sampling-params` | json-formatted sampling settings that will be returned in /model_info | `None` | Type: str |
|
||||
|
||||
## LoRA
|
||||
| Argument | Description | Defaults | Options |
|
||||
|
||||
@@ -9,8 +9,8 @@
|
||||
"Apart from the OpenAI compatible APIs, the SGLang Runtime also provides its native server APIs. We introduce the following APIs:\n",
|
||||
"\n",
|
||||
"- `/generate` (text generation model)\n",
|
||||
"- `/get_model_info`\n",
|
||||
"- `/get_server_info`\n",
|
||||
"- `/model_info`\n",
|
||||
"- `/server_info`\n",
|
||||
"- `/health`\n",
|
||||
"- `/health_generate`\n",
|
||||
"- `/flush_cache`\n",
|
||||
@@ -97,7 +97,7 @@
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"source": [
|
||||
"url = f\"http://localhost:{port}/get_model_info\"\n",
|
||||
"url = f\"http://localhost:{port}/model_info\"\n",
|
||||
"\n",
|
||||
"response = requests.get(url)\n",
|
||||
"response_json = response.json()\n",
|
||||
@@ -123,7 +123,7 @@
|
||||
"source": [
|
||||
"## Get Server Info\n",
|
||||
"Gets the server information including CLI arguments, token limits, and memory pool sizes.\n",
|
||||
"- Note: `get_server_info` merges the following deprecated endpoints:\n",
|
||||
"- Note: `server_info` merges the following deprecated endpoints:\n",
|
||||
" - `get_server_args`\n",
|
||||
" - `get_memory_pool_size` \n",
|
||||
" - `get_max_total_num_tokens`"
|
||||
@@ -135,7 +135,7 @@
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"source": [
|
||||
"url = f\"http://localhost:{port}/get_server_info\"\n",
|
||||
"url = f\"http://localhost:{port}/server_info\"\n",
|
||||
"\n",
|
||||
"response = requests.get(url)\n",
|
||||
"print_highlight(response.text)"
|
||||
|
||||
@@ -352,4 +352,4 @@ python3 -m sglang.bench_serving \
|
||||
### Notes
|
||||
|
||||
- The script raises the file descriptor soft limit (`RLIMIT_NOFILE`) to help with many concurrent connections.
|
||||
- For sglang, `/get_server_info` is queried post-run to report speculative decoding accept length when available.
|
||||
- For sglang, `/server_info` is queried post-run to report speculative decoding accept length when available.
|
||||
|
||||
@@ -339,7 +339,7 @@ def run_one_case(
|
||||
output_throughput = batch_size * output_len / (latency - last_ttft)
|
||||
overall_throughput = batch_size * (input_len + output_len) / latency
|
||||
|
||||
server_info = requests.get(url + "/get_server_info").json()
|
||||
server_info = requests.get(url + "/server_info").json()
|
||||
internal_state = server_info.get("internal_states", [{}])
|
||||
last_gen_throughput = internal_state[0].get("last_gen_throughput", None) or -1
|
||||
acc_length = internal_state[0].get("avg_spec_accept_length", None) or -1
|
||||
@@ -451,7 +451,7 @@ def run_benchmark(server_args: ServerArgs, bench_args: BenchArgs):
|
||||
proc, base_url = launch_server_process(server_args)
|
||||
|
||||
# Get tokenizer
|
||||
server_info = requests.get(base_url + "/get_server_info").json()
|
||||
server_info = requests.get(base_url + "/server_info").json()
|
||||
if "tokenizer_path" in server_info:
|
||||
tokenizer_path = server_info["tokenizer_path"]
|
||||
elif "prefill" in server_info:
|
||||
|
||||
@@ -2062,7 +2062,7 @@ async def benchmark(
|
||||
|
||||
if "sglang" in backend:
|
||||
server_info = requests.get(
|
||||
base_url + "/get_server_info", headers=get_auth_headers()
|
||||
base_url + "/server_info", headers=get_auth_headers()
|
||||
)
|
||||
if server_info.status_code == 200:
|
||||
server_info_json = server_info.json()
|
||||
@@ -2180,7 +2180,7 @@ async def benchmark(
|
||||
print("{:<40} {:<10.2f}".format("Max ITL (ms):", metrics.max_itl_ms))
|
||||
print("=" * 50)
|
||||
|
||||
resp = requests.get(base_url + "/get_server_info", headers=get_auth_headers())
|
||||
resp = requests.get(base_url + "/server_info", headers=get_auth_headers())
|
||||
server_info = resp.json() if resp.status_code == 200 else None
|
||||
|
||||
if (
|
||||
|
||||
@@ -38,7 +38,7 @@ class RuntimeEndpoint(BaseBackend):
|
||||
self.verify = verify
|
||||
|
||||
res = http_request(
|
||||
self.base_url + "/get_model_info",
|
||||
self.base_url + "/model_info",
|
||||
api_key=self.api_key,
|
||||
verify=self.verify,
|
||||
)
|
||||
@@ -66,7 +66,7 @@ class RuntimeEndpoint(BaseBackend):
|
||||
|
||||
def get_server_info(self):
|
||||
res = http_request(
|
||||
self.base_url + "/get_server_info",
|
||||
self.base_url + "/server_info",
|
||||
api_key=self.api_key,
|
||||
verify=self.verify,
|
||||
)
|
||||
@@ -514,7 +514,7 @@ class Runtime:
|
||||
|
||||
async def get_server_info(self):
|
||||
async with aiohttp.ClientSession() as session:
|
||||
async with session.get(f"{self.url}/get_server_info") as response:
|
||||
async with session.get(f"{self.url}/server_info") as response:
|
||||
if response.status == 200:
|
||||
return await response.json()
|
||||
else:
|
||||
|
||||
@@ -41,7 +41,7 @@ def run_profile(
|
||||
# Dump server args.
|
||||
file_path = Path(output_dir) / "server_args.json"
|
||||
if not file_path.exists():
|
||||
response = requests.get(url + "/get_server_info")
|
||||
response = requests.get(url + "/server_info")
|
||||
response.raise_for_status()
|
||||
server_args_data = response.json()
|
||||
with open(file_path, "w") as file:
|
||||
|
||||
@@ -1480,7 +1480,7 @@ def _execute_server_warmup(
|
||||
for _ in range(120):
|
||||
time.sleep(1)
|
||||
try:
|
||||
res = requests.get(url + "/get_model_info", timeout=5, headers=headers)
|
||||
res = requests.get(url + "/model_info", timeout=5, headers=headers)
|
||||
assert res.status_code == 200, f"{res=}, {res.text=}"
|
||||
success = True
|
||||
break
|
||||
|
||||
@@ -2797,7 +2797,7 @@ class ServerArgs:
|
||||
parser.add_argument(
|
||||
"--preferred-sampling-params",
|
||||
type=str,
|
||||
help="json-formatted sampling settings that will be returned in /get_model_info",
|
||||
help="json-formatted sampling settings that will be returned in /model_info",
|
||||
)
|
||||
|
||||
# LoRA
|
||||
|
||||
@@ -120,7 +120,7 @@ def send_one_batch(base_url, num_prompts, batch_size, processor, is_multimodal):
|
||||
acc_length = results["accept_length"] or 1.0
|
||||
avg_output_token = results["total_output_tokens"] / results["completed"]
|
||||
|
||||
server_info = requests.get(base_url + "/get_server_info").json()
|
||||
server_info = requests.get(base_url + "/server_info").json()
|
||||
# We use 20% percentile instead of median on purpose
|
||||
step_time = np.percentile(
|
||||
server_info["internal_states"][0]["step_time_dict"][str(batch_size)], 20
|
||||
|
||||
@@ -79,7 +79,7 @@ class TestDeepseekV32CP(CustomTestCase):
|
||||
metrics = run_eval_few_shot_gsm8k(args)
|
||||
print(f"{metrics=}")
|
||||
|
||||
server_info = requests.get(self.base_url + "/get_server_info")
|
||||
server_info = requests.get(self.base_url + "/server_info")
|
||||
avg_spec_accept_length = server_info.json()["internal_states"][0][
|
||||
"avg_spec_accept_length"
|
||||
]
|
||||
|
||||
@@ -77,7 +77,7 @@ class TestEagleDPAttnServerBase(CustomTestCase):
|
||||
metrics = run_eval_few_shot_gsm8k(args)
|
||||
print(f"{metrics=}")
|
||||
|
||||
server_info = requests.get(self.base_url + "/get_server_info")
|
||||
server_info = requests.get(self.base_url + "/server_info")
|
||||
avg_spec_accept_length = server_info.json()["internal_states"][0][
|
||||
"avg_spec_accept_length"
|
||||
]
|
||||
|
||||
@@ -3,7 +3,7 @@ Test weight version functionality.
|
||||
|
||||
This test suite verifies the weight_version feature implementation including:
|
||||
1. Default weight_version setting
|
||||
2. /get_weight_version endpoint
|
||||
2. /weight_version endpoint
|
||||
3. /update_weight_version endpoint
|
||||
4. /generate request meta_info contains weight_version
|
||||
5. OpenAI API response metadata contains weight_version
|
||||
@@ -48,13 +48,13 @@ class TestWeightVersion(CustomTestCase):
|
||||
def test_weight_version_comprehensive(self):
|
||||
"""Comprehensive test for all weight_version functionality."""
|
||||
|
||||
response = requests.get(f"{self.base_url}/get_model_info")
|
||||
response = requests.get(f"{self.base_url}/model_info")
|
||||
self.assertEqual(response.status_code, 200)
|
||||
data = response.json()
|
||||
self.assertIn("weight_version", data)
|
||||
self.assertEqual(data["weight_version"], "test_version_1.0")
|
||||
|
||||
response = requests.get(f"{self.base_url}/get_weight_version")
|
||||
response = requests.get(f"{self.base_url}/weight_version")
|
||||
self.assertEqual(response.status_code, 200)
|
||||
data = response.json()
|
||||
self.assertIn("weight_version", data)
|
||||
@@ -114,7 +114,7 @@ class TestWeightVersion(CustomTestCase):
|
||||
self.assertTrue(data["success"])
|
||||
self.assertEqual(data["new_version"], "updated_version_2.0")
|
||||
|
||||
response = requests.get(f"{self.base_url}/get_weight_version")
|
||||
response = requests.get(f"{self.base_url}/weight_version")
|
||||
self.assertEqual(response.status_code, 200)
|
||||
data = response.json()
|
||||
self.assertEqual(data["weight_version"], "updated_version_2.0")
|
||||
@@ -148,13 +148,13 @@ class TestWeightVersion(CustomTestCase):
|
||||
self.assertTrue(data["success"])
|
||||
self.assertEqual(data["new_version"], "final_version_3.0")
|
||||
|
||||
# Check /get_weight_version
|
||||
response = requests.get(f"{self.base_url}/get_weight_version")
|
||||
# Check /weight_version
|
||||
response = requests.get(f"{self.base_url}/weight_version")
|
||||
self.assertEqual(response.status_code, 200)
|
||||
self.assertEqual(response.json()["weight_version"], "final_version_3.0")
|
||||
|
||||
# Check /get_model_info
|
||||
response = requests.get(f"{self.base_url}/get_model_info")
|
||||
# Check /model_info
|
||||
response = requests.get(f"{self.base_url}/model_info")
|
||||
self.assertEqual(response.status_code, 200)
|
||||
self.assertEqual(response.json()["weight_version"], "final_version_3.0")
|
||||
|
||||
@@ -193,7 +193,7 @@ class TestWeightVersion(CustomTestCase):
|
||||
print("Testing weight_version update with real weight operations...")
|
||||
|
||||
# Get current model info for reference
|
||||
model_info_response = requests.get(f"{self.base_url}/get_model_info")
|
||||
model_info_response = requests.get(f"{self.base_url}/model_info")
|
||||
self.assertEqual(model_info_response.status_code, 200)
|
||||
current_model_path = model_info_response.json()["model_path"]
|
||||
|
||||
@@ -214,7 +214,7 @@ class TestWeightVersion(CustomTestCase):
|
||||
)
|
||||
|
||||
# Verify version was updated
|
||||
version_response = requests.get(f"{self.base_url}/get_weight_version")
|
||||
version_response = requests.get(f"{self.base_url}/weight_version")
|
||||
self.assertEqual(version_response.status_code, 200)
|
||||
self.assertEqual(
|
||||
version_response.json()["weight_version"], "disk_update_v2.0.0"
|
||||
|
||||
@@ -143,7 +143,7 @@ class TestDeepseekMTP(CustomTestCase):
|
||||
|
||||
self.assertGreater(metrics["accuracy"], 0.92)
|
||||
|
||||
server_info = requests.get(self.base_url + "/get_server_info")
|
||||
server_info = requests.get(self.base_url + "/server_info")
|
||||
avg_spec_accept_length = server_info.json()["internal_states"][0][
|
||||
"avg_spec_accept_length"
|
||||
]
|
||||
|
||||
@@ -307,7 +307,7 @@ class TestMTP(CustomTestCase):
|
||||
|
||||
self.assertGreater(metrics["accuracy"], 0.60)
|
||||
|
||||
server_info = requests.get(self.base_url + "/get_server_info")
|
||||
server_info = requests.get(self.base_url + "/server_info")
|
||||
avg_spec_accept_length = server_info.json()["internal_states"][0][
|
||||
"avg_spec_accept_length"
|
||||
]
|
||||
@@ -381,7 +381,7 @@ class TestMTPWithTBO(CustomTestCase):
|
||||
|
||||
self.assertGreater(metrics["accuracy"], 0.60)
|
||||
|
||||
server_info = requests.get(self.base_url + "/get_server_info")
|
||||
server_info = requests.get(self.base_url + "/server_info")
|
||||
avg_spec_accept_length = server_info.json()["internal_states"][0][
|
||||
"avg_spec_accept_length"
|
||||
]
|
||||
|
||||
@@ -152,7 +152,7 @@ class TestHiCacheEagle(HiCacheBaseServer, HiCacheEvalMixin):
|
||||
self.assertGreaterEqual(metrics["score"], self.expected_mmlu_score)
|
||||
|
||||
# EAGLE-specific check
|
||||
server_info = requests.get(self.base_url + "/get_server_info")
|
||||
server_info = requests.get(self.base_url + "/server_info")
|
||||
print(f"{server_info=}")
|
||||
avg_spec_accept_length = server_info.json()["internal_states"][0][
|
||||
"avg_spec_accept_length"
|
||||
|
||||
@@ -103,7 +103,7 @@ class TestDeepseekV3W4Afp8Mtp(CustomTestCase):
|
||||
metrics = run_eval_few_shot_gsm8k(args)
|
||||
print(f"{metrics=}")
|
||||
|
||||
server_info = requests.get(self.base_url + "/get_server_info")
|
||||
server_info = requests.get(self.base_url + "/server_info")
|
||||
avg_spec_accept_length = server_info.json()["internal_states"][0][
|
||||
"avg_spec_accept_length"
|
||||
]
|
||||
|
||||
@@ -113,7 +113,7 @@ class TestServerUpdateWeightsFromDisk(CustomTestCase):
|
||||
return response.json()
|
||||
|
||||
def get_model_info(self):
|
||||
response = requests.get(self.base_url + "/get_model_info")
|
||||
response = requests.get(self.base_url + "/model_info")
|
||||
model_path = response.json()["model_path"]
|
||||
print(json.dumps(response.json()))
|
||||
return model_path
|
||||
@@ -254,7 +254,7 @@ class TestServerUpdateWeightsFromDiskAbortAllRequests(CustomTestCase):
|
||||
return response.json()
|
||||
|
||||
def get_model_info(self):
|
||||
response = requests.get(self.base_url + "/get_model_info")
|
||||
response = requests.get(self.base_url + "/model_info")
|
||||
model_path = response.json()["model_path"]
|
||||
print(json.dumps(response.json()))
|
||||
return model_path
|
||||
@@ -386,7 +386,7 @@ class TestUpdateWeightsFromDiskParameterized(CustomTestCase):
|
||||
return response.json()["text"]
|
||||
|
||||
def get_model_info():
|
||||
response = requests.get(base_url + "/get_model_info")
|
||||
response = requests.get(base_url + "/model_info")
|
||||
model_path = response.json()["model_path"]
|
||||
print(json.dumps(response.json()))
|
||||
return model_path
|
||||
|
||||
@@ -209,7 +209,7 @@ class TestServerUpdateWeightsFromTensorNonBlocking(CustomTestCase):
|
||||
return response.json()
|
||||
|
||||
def get_model_info(self):
|
||||
response = requests.get(self.base_url + "/get_model_info")
|
||||
response = requests.get(self.base_url + "/model_info")
|
||||
model_path = response.json()["model_path"]
|
||||
print(json.dumps(response.json()))
|
||||
return model_path
|
||||
|
||||
@@ -65,12 +65,12 @@ class TestDataParallelism(CustomTestCase):
|
||||
|
||||
def test_get_memory_pool_size(self):
|
||||
# use `get_server_info` instead since `get_memory_pool_size` is merged into `get_server_info`
|
||||
response = requests.get(self.base_url + "/get_server_info")
|
||||
response = requests.get(self.base_url + "/server_info")
|
||||
assert response.status_code == 200
|
||||
|
||||
time.sleep(1)
|
||||
|
||||
response = requests.get(self.base_url + "/get_server_info")
|
||||
response = requests.get(self.base_url + "/server_info")
|
||||
assert response.status_code == 200
|
||||
|
||||
|
||||
|
||||
@@ -69,7 +69,7 @@ class TestDeepseekV32MTP(CustomTestCase):
|
||||
metrics = run_eval_few_shot_gsm8k(args)
|
||||
print(f"{metrics=}")
|
||||
|
||||
server_info = requests.get(self.base_url + "/get_server_info")
|
||||
server_info = requests.get(self.base_url + "/server_info")
|
||||
avg_spec_accept_length = server_info.json()["internal_states"][0][
|
||||
"avg_spec_accept_length"
|
||||
]
|
||||
|
||||
@@ -143,7 +143,7 @@ class TestDeepseekV3FP4MTP(CustomTestCase):
|
||||
metrics = run_eval_few_shot_gsm8k(args)
|
||||
print(f"{metrics=}")
|
||||
|
||||
server_info = requests.get(self.base_url + "/get_server_info")
|
||||
server_info = requests.get(self.base_url + "/server_info")
|
||||
avg_spec_accept_length = server_info.json()["internal_states"][0][
|
||||
"avg_spec_accept_length"
|
||||
]
|
||||
|
||||
@@ -67,7 +67,7 @@ class TestDeepseekV3MTP(CustomTestCase):
|
||||
metrics = run_eval_few_shot_gsm8k(args)
|
||||
print(f"{metrics=}")
|
||||
|
||||
server_info = requests.get(self.base_url + "/get_server_info")
|
||||
server_info = requests.get(self.base_url + "/server_info")
|
||||
avg_spec_accept_length = server_info.json()["internal_states"][0][
|
||||
"avg_spec_accept_length"
|
||||
]
|
||||
|
||||
@@ -112,7 +112,7 @@ class TestDPAttentionDP2TP2DeepseekV3MTP(CustomTestCase):
|
||||
|
||||
self.assertGreater(metrics["accuracy"], 0.60)
|
||||
|
||||
server_info = requests.get(self.base_url + "/get_server_info")
|
||||
server_info = requests.get(self.base_url + "/server_info")
|
||||
avg_spec_accept_length = server_info.json()["internal_states"][0][
|
||||
"avg_spec_accept_length"
|
||||
]
|
||||
|
||||
@@ -78,7 +78,7 @@ class TestEAGLE3EngineDPAttention(CustomTestCase):
|
||||
metrics = run_eval_few_shot_gsm8k(args)
|
||||
print(f"{metrics=}")
|
||||
|
||||
server_info = requests.get(self.base_url + "/get_server_info")
|
||||
server_info = requests.get(self.base_url + "/server_info")
|
||||
server_data = server_info.json()
|
||||
|
||||
# Try to get avg_spec_accept_length
|
||||
|
||||
@@ -144,7 +144,7 @@ class TestEAGLEServer(CustomTestCase):
|
||||
print(f"{metrics=}")
|
||||
self.assertGreater(metrics["accuracy"], 0.20)
|
||||
|
||||
server_info = requests.get(self.base_url + "/get_server_info").json()
|
||||
server_info = requests.get(self.base_url + "/server_info").json()
|
||||
avg_spec_accept_length = server_info["internal_states"][0][
|
||||
"avg_spec_accept_length"
|
||||
]
|
||||
|
||||
@@ -112,7 +112,7 @@ class BaseFlashAttentionTest(CustomTestCase):
|
||||
self.assertGreater(metrics[metric_key], self.accuracy_threshold)
|
||||
|
||||
if self.speculative_decode:
|
||||
server_info = requests.get(self.base_url + "/get_server_info")
|
||||
server_info = requests.get(self.base_url + "/server_info")
|
||||
avg_spec_accept_length = server_info.json()["internal_states"][0][
|
||||
"avg_spec_accept_length"
|
||||
]
|
||||
|
||||
@@ -119,7 +119,7 @@ class TestFlashMLAMTP(CustomTestCase):
|
||||
|
||||
self.assertGreater(metrics["accuracy"], 0.60)
|
||||
|
||||
server_info = requests.get(self.base_url + "/get_server_info")
|
||||
server_info = requests.get(self.base_url + "/server_info")
|
||||
print(f"{server_info=}")
|
||||
avg_spec_accept_length = server_info.json()["internal_states"][0][
|
||||
"avg_spec_accept_length"
|
||||
|
||||
@@ -88,7 +88,7 @@ class TestHybridAttnBackendBase(CustomTestCase):
|
||||
self.assertGreater(metrics[metric_key], self.accuracy_threshold)
|
||||
|
||||
if self.speculative_decode:
|
||||
server_info = requests.get(self.base_url + "/get_server_info")
|
||||
server_info = requests.get(self.base_url + "/server_info")
|
||||
avg_spec_accept_length = server_info.json()["internal_states"][0][
|
||||
"avg_spec_accept_length"
|
||||
]
|
||||
|
||||
@@ -179,7 +179,7 @@ class TestDeepseekV3MTP(CustomTestCase):
|
||||
|
||||
self.assertGreater(metrics["accuracy"], 0.60)
|
||||
|
||||
server_info = requests.get(self.base_url + "/get_server_info")
|
||||
server_info = requests.get(self.base_url + "/server_info")
|
||||
avg_spec_accept_length = server_info.json()["internal_states"][0][
|
||||
"avg_spec_accept_length"
|
||||
]
|
||||
|
||||
@@ -111,7 +111,7 @@ class TestFlashinferMLAMTP(CustomTestCase):
|
||||
|
||||
self.assertGreater(metrics["accuracy"], 0.60)
|
||||
|
||||
server_info = requests.get(self.base_url + "/get_server_info")
|
||||
server_info = requests.get(self.base_url + "/server_info")
|
||||
print(f"{server_info=}")
|
||||
avg_spec_accept_length = server_info.json()["internal_states"][0][
|
||||
"avg_spec_accept_length"
|
||||
|
||||
@@ -113,7 +113,7 @@ class TestDeepseekV3MTPChannelInt8(CustomTestCase):
|
||||
|
||||
self.assertGreater(metrics["accuracy"], 0.60)
|
||||
|
||||
server_info = requests.get(self.base_url + "/get_server_info")
|
||||
server_info = requests.get(self.base_url + "/server_info")
|
||||
avg_spec_accept_length = server_info.json()["internal_states"][0][
|
||||
"avg_spec_accept_length"
|
||||
]
|
||||
@@ -217,7 +217,7 @@ class TestDeepseekV3MTPBlockInt8(CustomTestCase):
|
||||
|
||||
self.assertGreater(metrics["accuracy"], 0.60)
|
||||
|
||||
server_info = requests.get(self.base_url + "/get_server_info")
|
||||
server_info = requests.get(self.base_url + "/server_info")
|
||||
avg_spec_accept_length = server_info.json()["internal_states"][0][
|
||||
"avg_spec_accept_length"
|
||||
]
|
||||
|
||||
@@ -80,7 +80,7 @@ class TestNgramSpeculativeDecodingBase(CustomTestCase):
|
||||
metric_key = "accuracy"
|
||||
self.assertGreater(metrics[metric_key], self.accuracy_threshold)
|
||||
|
||||
server_info = requests.get(self.base_url + "/get_server_info")
|
||||
server_info = requests.get(self.base_url + "/server_info")
|
||||
avg_spec_accept_length = server_info.json()["internal_states"][0][
|
||||
"avg_spec_accept_length"
|
||||
]
|
||||
|
||||
@@ -496,7 +496,7 @@ class TestSRTEndpoint(CustomTestCase):
|
||||
self.assertEqual(send_and_check_cached_tokens(range(0, 11000)), 10000)
|
||||
|
||||
def test_get_server_info(self):
|
||||
response = requests.get(self.base_url + "/get_server_info")
|
||||
response = requests.get(self.base_url + "/server_info")
|
||||
response_json = response.json()
|
||||
|
||||
max_total_num_tokens = response_json["max_total_num_tokens"]
|
||||
@@ -626,7 +626,7 @@ class TestSRTEndpoint(CustomTestCase):
|
||||
tp = ThreadPoolExecutor(max_workers=30)
|
||||
|
||||
def s():
|
||||
server_info = requests.get(self.base_url + "/get_server_info")
|
||||
server_info = requests.get(self.base_url + "/server_info")
|
||||
server_info.json()
|
||||
|
||||
futures = []
|
||||
|
||||
@@ -88,7 +88,7 @@ class TestStandaloneSpeculativeDecodingBase(CustomTestCase):
|
||||
metric_key = "accuracy"
|
||||
self.assertGreater(metrics[metric_key], self.accuracy_threshold)
|
||||
|
||||
server_info = requests.get(self.base_url + "/get_server_info")
|
||||
server_info = requests.get(self.base_url + "/server_info")
|
||||
avg_spec_accept_length = server_info.json()["internal_states"][0][
|
||||
"avg_spec_accept_length"
|
||||
]
|
||||
|
||||
Reference in New Issue
Block a user