MCPcopy Index your code
hub / github.com/PaddlePaddle/FastDeploy / add_requests

Method add_requests

fastdeploy/engine/engine.py:255–343  ·  view source on GitHub ↗

Add a new request to the queue. Args: task: Request A dictionary representing the request. sampling_params: A dictionary representing the sampling parameters. Returns: None

(self, task, sampling_params=None, **kwargs)

Source from the content-addressed store, hash-verified

253 )
254
255 def add_requests(self, task, sampling_params=None, **kwargs):
256 """
257 Add a new request to the queue.
258
259 Args:
260 task: Request A dictionary representing the request.
261 sampling_params: A dictionary representing the sampling parameters.
262
263 Returns:
264 None
265 """
266 # TODO 输入输出长度确认
267
268 if sampling_params is not None:
269 task.update(asdict(sampling_params))
270 request = Request.from_dict(task)
271 request.metrics.scheduler_recv_req_time = time.time()
272 llm_logger.info(f"Receive request {request}")
273 if sampling_params is not None:
274 if sampling_params.temperature is not None and abs(sampling_params.temperature) < 1e-06:
275 sampling_params.temperature = 1e-06
276 request.sampling_params = sampling_params
277 request.metrics.preprocess_start_time = time.time()
278 chat_template_kwargs = kwargs.get("chat_template_kwargs") or {}
279 chat_template_kwargs["chat_template"] = kwargs.get("chat_template")
280 kwargs["chat_template_kwargs"] = chat_template_kwargs
281 request = self.engine.data_processor.process_request(request, self.cfg.model_config.max_model_len, **kwargs)
282 request.prompt_token_ids_len = len(request.prompt_token_ids)
283 request.need_prefill_tokens = request.prompt_token_ids_len
284 input_ids_len = request.prompt_token_ids_len
285 request.set(
286 "max_tokens",
287 min(
288 self.cfg.model_config.max_model_len - input_ids_len,
289 request.get("max_tokens"),
290 ),
291 )
292 min_tokens = request.get("min_tokens")
293 if input_ids_len + min_tokens >= self.cfg.model_config.max_model_len:
294 error_msg = (
295 f"Input text is too long, length of prompt token({input_ids_len}) "
296 f"+ min_dec_len ({min_tokens}) >= max_model_len "
297 )
298 llm_logger.error(error_msg)
299 raise EngineError(error_msg, error_code=400)
300
301 if input_ids_len > self.cfg.model_config.max_model_len:
302 error_msg = f"Length of input token({input_ids_len}) exceeds the limit max_model_len({self.cfg.model_config.max_model_len})."
303 llm_logger.error(error_msg)
304 raise EngineError(error_msg, error_code=400)
305
306 if request.get("stop_seqs_len") is not None:
307 stop_seqs_len = request.get("stop_seqs_len")
308 max_stop_seqs_num = envs.FD_MAX_STOP_SEQS_NUM
309 if len(stop_seqs_len) > max_stop_seqs_num:
310 error_msg = (
311 f"Length of stop ({stop_seqs_len}) exceeds the limit max_stop_seqs_num({max_stop_seqs_num})."
312 "Please reduce the number of stop or set a lager max_stop_seqs_num by `FD_MAX_STOP_SEQS_NUM`"

Calls 12

_has_guided_inputMethod · 0.95
EngineErrorClass · 0.90
debugMethod · 0.80
updateMethod · 0.45
from_dictMethod · 0.45
infoMethod · 0.45
getMethod · 0.45
process_requestMethod · 0.45
setMethod · 0.45
errorMethod · 0.45
schema_formatMethod · 0.45
put_requestsMethod · 0.45