MCPcopy Create free account
hub / github.com/PaddlePaddle/FastDeploy / main

Function main

benchmarks/benchmark_serving.py:1043–1222  ·  view source on GitHub ↗

Main entry point

(args: argparse.Namespace)

Source from the content-addressed store, hash-verified

1041
1042
1043def main(args: argparse.Namespace):
1044 """Main entry point"""
1045 print(args)
1046 random.seed(args.seed)
1047 np.random.seed(args.seed)
1048
1049 backend = args.backend
1050 # 支持多轮对话方式请求,仅支持chat接口
1051 if args.multi_turn:
1052 backend = "openai-chat-multi-turn"
1053 model_id = args.model
1054 model_name = args.served_model_name
1055 tokenizer_id = args.tokenizer if args.tokenizer is not None else args.model
1056
1057 if args.base_url is not None:
1058 api_url = f"{args.base_url}{args.endpoint}"
1059 base_url = f"{args.base_url}"
1060 else:
1061 api_url = f"http://{args.host}:{args.port}{args.endpoint}"
1062 base_url = f"http://{args.host}:{args.port}"
1063
1064 if args.dataset_name is None:
1065 raise ValueError("Please specify '--dataset-name' and the corresponding " "'--dataset-path' if required.")
1066
1067 # For datasets that follow a similar structure, use a mapping.
1068 dataset_mapping = {
1069 "EB": lambda: EBDataset(random_seed=args.seed, dataset_path=args.dataset_path, shuffle=args.shuffle).sample(
1070 num_requests=args.num_prompts,
1071 output_len=args.sharegpt_output_len,
1072 ),
1073 "EBChat": lambda: EBChatDataset(
1074 random_seed=args.seed, dataset_path=args.dataset_path, shuffle=args.shuffle
1075 ).sample(
1076 num_requests=args.num_prompts,
1077 output_len=args.sharegpt_output_len,
1078 ),
1079 "random": lambda: RandomTextDataset().sample(
1080 num_requests=args.num_prompts,
1081 random_input_len=args.random_input_len,
1082 random_output_len=args.random_output_len,
1083 random_range_ratio=args.random_range_ratio,
1084 ),
1085 }
1086
1087 try:
1088 input_requests = dataset_mapping[args.dataset_name]()
1089 except KeyError as err:
1090 raise ValueError(f"Unknown dataset: {args.dataset_name}") from err
1091
1092 goodput_config_dict = check_goodput_args(args)
1093
1094 # Collect the sampling parameters.
1095 sampling_params = {
1096 k: v
1097 for k, v in {
1098 "top_p": args.top_p,
1099 "top_k": args.top_k,
1100 "min_p": args.min_p,

Callers 1

Calls 14

EBDatasetClass · 0.90
EBChatDatasetClass · 0.90
RandomTextDatasetClass · 0.90
printFunction · 0.85
itemsMethod · 0.80
collectMethod · 0.80
splitMethod · 0.80
joinMethod · 0.80
dumpMethod · 0.80
check_goodput_argsFunction · 0.70
benchmarkFunction · 0.70

Tested by

no test coverage detected