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

Method from_dict

fastdeploy/engine/request.py:321–395  ·  view source on GitHub ↗
(cls, d: dict)

Source from the content-addressed store, hash-verified

319
320 @classmethod
321 def from_dict(cls, d: dict):
322 data_processor_logger.debug(f"{d}")
323 sampling_params: SamplingParams = None
324 pooling_params: PoolingParams = None
325 metrics: RequestMetrics = None
326 if "pooling_params" in d and d["pooling_params"] is not None:
327 pooling_params = PoolingParams.from_dict(d["pooling_params"])
328 else:
329 sampling_params = SamplingParams.from_dict(d)
330 logprobs = d.get("logprobs", None)
331 if logprobs is not None:
332 if logprobs is True:
333 sampling_params.logprobs = d.get("top_logprobs", None)
334 elif logprobs is False:
335 sampling_params.logprobs = None
336 if "metrics" in d and d["metrics"] is not None:
337 metrics = RequestMetrics.from_dict(d["metrics"])
338 else:
339 metrics = RequestMetrics.from_dict(d)
340
341 if (
342 isinstance(d.get("multimodal_inputs"), dict)
343 and isinstance(d["multimodal_inputs"].get("mm_positions"), list)
344 and len(d["multimodal_inputs"]["mm_positions"]) > 0
345 ):
346 # if mm_positions is not of type ImagePosition, convert to ImagePosition
347 try:
348 for i, mm_pos in enumerate(d["multimodal_inputs"]["mm_positions"]):
349 d["multimodal_inputs"]["mm_positions"][i] = (
350 ImagePosition(**mm_pos) if not isinstance(mm_pos, ImagePosition) else mm_pos
351 )
352 except Exception as e:
353 data_processor_logger.error(
354 f"Convert mm_positions to ImagePosition error: {e}, {str(traceback.format_exc())}"
355 )
356 return cls(
357 request_id=d["request_id"],
358 prompt=d.get("prompt"),
359 prompt_token_ids=d.get("prompt_token_ids"),
360 prompt_token_ids_len=d.get("prompt_token_ids_len"),
361 messages=d.get("messages"),
362 system=d.get("system"),
363 history=d.get("history"),
364 tools=d.get("tools"),
365 sampling_params=sampling_params,
366 pooling_params=pooling_params,
367 eos_token_ids=d.get("eos_token_ids"),
368 multimodal_inputs=d.get("multimodal_inputs"),
369 multimodal_data=d.get("multimodal_data"),
370 disable_chat_template=d.get("disable_chat_template"),
371 disaggregate_info=d.get("disaggregate_info"),
372 draft_token_ids=d.get("draft_token_ids"),
373 guided_json=d.get("guided_json", None),
374 guided_regex=d.get("guided_regex", None),
375 guided_choice=d.get("guided_choice", None),
376 guided_grammar=d.get("guided_grammar", None),
377 structural_tag=d.get("structural_tag", None),
378 guided_json_object=d.get("guided_json_object", None),

Callers 15

__init__Method · 0.45
unserializeMethod · 0.45
unserializeMethod · 0.45
generateMethod · 0.45
from_dictMethod · 0.45
add_requestsMethod · 0.45
run_control_methodMethod · 0.45
_build_responseMethod · 0.45
_build_responseMethod · 0.45
_handle_prefillMethod · 0.45
_handle_decodeMethod · 0.45

Calls 4

ImagePositionClass · 0.85
debugMethod · 0.80
getMethod · 0.45
errorMethod · 0.45