Files
sglang/tools/sglang-simulator/examples/build_example_assets.py
T
2026-09-04 11:12:11 +08:00

56 lines
1.4 KiB
Python
Executable File

#!/usr/bin/env python3
"""Rebuild the small ML and tokenizer assets used by examples and tests."""
from pathlib import Path
import joblib
import numpy as np
from sglang_simulator.time_predictor.ml import MLTimePredictor
from sklearn.dummy import DummyRegressor
from tokenizers import Tokenizer
from tokenizers.models import WordLevel
from tokenizers.pre_tokenizers import Whitespace
from transformers import PreTrainedTokenizerFast
ASSETS = Path(__file__).parent / "assets"
def build_ml_model() -> None:
model = DummyRegressor(strategy="constant", constant=0.001)
model.fit(np.zeros((1, len(MLTimePredictor.FEATURE_NAMES))), [0.001])
joblib.dump(
{"model": model, "features": MLTimePredictor.FEATURE_NAMES},
ASSETS / "model.pkl",
)
def build_tokenizer() -> None:
tokenizer = Tokenizer(
WordLevel(
{
"[UNK]": 0,
"prefix": 1,
"caching": 2,
"latency": 3,
"decode": 4,
"token": 5,
},
unk_token="[UNK]",
)
)
tokenizer.pre_tokenizer = Whitespace()
PreTrainedTokenizerFast(
tokenizer_object=tokenizer,
unk_token="[UNK]",
).save_pretrained(ASSETS / "tokenizer")
def main() -> None:
ASSETS.mkdir(parents=True, exist_ok=True)
build_ml_model()
build_tokenizer()
if __name__ == "__main__":
main()